示例#1
0
文件: sdp.c 项目: phar/ubertooth-fork
bool SDP_create()
{
    UINT i;
    L2CAP_API sL2CAP;
    SDP_API sAPI;

    /* Allocate the control block */
    if (NULL == gpsSDPCB)
    {
        gpsSDPCB = BT_malloc(sizeof(SDP_CONTROL_BLOCK));
    }

    /* Initialise the control block structure */
    gpsSDPCB->bInitialised = true;
    for (i = 0; i < SDP_SERVICE_COUNT; ++i)
    {
        gpsSDPCB->pService[i] = NULL;
    }
    #ifdef SDP_SERVICE_RFCOMM_ENABLE
        gpsSDPCB->pService[0] = (SDP_SERVICE *)&sServiceRFCOMM;
    #else
        #error
    #endif /*SDP_SERVICE_RFCOMM_ENABLE*/

    L2CAP_getAPI(&sL2CAP);
    gpsSDPCB->L2CAPsendData = sL2CAP.sendData;

    sAPI.putData = &SDP_API_putPetition;
    L2CAP_installSDP(&sAPI);

    DBG_INFO("SDP Initialised\n");
    return true;
}
示例#2
0
BOOL BTAPP_Start(BT_DEVICE *psBTDevice)
{
    HCIUSB_API sPHY;
    HCI_API sHCI;
    L2CAP_API sL2CAP;
    DEVICE_API sAPI;
    RFCOMM_API sRFCOMM;

    ASSERT(NULL != psBTDevice);

    /* Get all the APIs needed */
    HCIUSB_getAPI(&sPHY);
    HCI_getAPI(&sHCI);
    L2CAP_getAPI(&sL2CAP);
    RFCOMM_getAPI(&sRFCOMM);
    /* Initialise the USB Device API directly related with the physical bus */
    psBTDevice->sUSB.getACLBuff = sPHY.getACLBuff;
    psBTDevice->sUSB.getEVTBuff = sPHY.getEVTBuff;
    psBTDevice->sUSB.writeACL = sPHY.USBwriteACL;
    psBTDevice->sUSB.writeCTL = sPHY.USBwriteCTL;
    /* Initialise the last part of the USB Device API */
    psBTDevice->sUSB.readACL = sHCI.putData;
    psBTDevice->sUSB.readEVT = sHCI.putEvent;
    /* L2CAP API */
    psBTDevice->L2CAPdisconnect = sL2CAP.disconnect;
    /* RFCOMM API */
    psBTDevice->SPPsendData = sRFCOMM.sendData;
    psBTDevice->SPPdisconnect = sRFCOMM.disconnect;

    /* Install the Device call-backs in the RFCOMM and HCI layer */
    sAPI.putRFCOMMData = &BTAPP_API_putRFCOMMData;
    sAPI.confComplete = &BTAPP_API_confComplete;
    RFCOMM_installDevCB(&sAPI);
    HCI_installDevCB(&sAPI);

    /* Issue the RESET command (which will trigger the HCI configuration) */
    sHCI.setLocalName("PIC_BT", 6);
//    sHCI.setPINCode("1234", 4);
    sHCI.cmdReset();

    DBG_INFO("BTAPP: Bluetooth stack start\n\r");

    return TRUE;
}