BtStatus FMP_Close(FmpChannel *channel) { BtStatus status = BT_STATUS_FAILED; /* Validate parameters */ CheckUnlockedParm(BT_STATUS_INVALID_PARM, channel != 0); OS_LockStack(); CheckLockedParm(BT_STATUS_NOT_FOUND, IsNodeOnList(&FMP(dev_list), &(channel->node))); // check state if (channel->state == FMP_STATE_OPEN) { status = GattDisconnect(channel->link); } if (status == BT_STATUS_SUCCESS) { FmpClearConnection(channel, status); } OS_UnlockStack(); return status; }
BtStatus time_gatt_disconnect_service(TimeCTransport *pChnl) { BtStatus status; TIMEASSERT(pChnl->check_byte == TIME_CHECK_BYTE); status = GattDisconnect(pChnl->handler.remDev); OS_Report("[Time] %s(), result: %d", __FUNCTION__, status); return status; }
BtStatus time_gatt_server_disconnect(TimeSTransport *pChnl) { BtStatus status; status = GattDisconnect(pChnl->handler.remDev); OS_Report("[Time] GattDisconnect() returns %d", status); return status; }