⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ag_inquire.c

📁 bluetooth audio gateway
💻 C
字号:
#include "ag_private.h"
#include "ag.h"

#include <message.h>
#include <print.h>
#include <stdlib.h>
#include <string.h>
#include <vm.h>



/*
    inquiryReqAction

    Start an inquiry.
*/
void inquiryReqAction(uint8 num_responses, uint16 timeout, uint32 CoD_filter, uint16 rnr_en)
{
    if (agIdleQuery())
    {
        MAKE_MSG(CM_INQUIRY_REQ);
        msg->max_responses = num_responses;
        msg->inq_timeout = D_SEC(timeout);
        msg->class_of_device = CoD_filter;
        msg->remote_name_request_enabled = rnr_en;
        agPutCmMsg(msg);

        agSetCurrentState(AgInquiring);
    }
    else
    {        
        agSendErrorToClient(AgErrorInquiryRequestWhenNotIdle, 0);
    }
}


/*
    agInquiryCompleteCfm

    Confirmation that the inquiry has completed including a status
    flag indicating its outcome.
*/

void agInquiryCompleteCfm(const CM_INQUIRY_COMPLETE_CFM_T *cfm)
{    
    ag_inquiry_status_t inq_status = AgInquiryError;
    agSetCurrentState(AgIdle);

    /* Let the interface layer do anything it wants to with this */
    switch(cfm->status)
    {
        case CmInquiryComplete:
            inq_status = AgInquiryComplete;            
            break;
        case CmInquiryCancelled:
            inq_status = AgInquiryCancelled;            
            break;
        case CmInquiryMaxResponsesReached:
            inq_status = AgMaxResponsesReached;            
            break;
        default:
            PRINT(("ag_inquire: Unknown inquiry complete return type 0x%x\n", cfm->status));
            inq_status = AgInquiryError;
            break;
    }
    handleInquiryCompleteCfm(inq_status);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -