亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ag_private.h

?? bluetooth audio gateway
?? H
字號:
#ifndef _AG_PRIVATE_H
#define _AG_PRIVATE_H

#include "ag_types.h"

#include <ccltypes.h>
#include <bluetooth.h>
#include <cm_rfcomm.h>
#include <sink.h>
#include <source.h>
#include <timer.h>



/* possible EAG states */
typedef enum
{
    AgIdle,
    AgInquiring,
    AgPairing,
    AgConnecting,
    AgConnected,
    AgScoConnected
} ag_state_t;


/* 
    Store some EAG state. Members prefixed with HF are specific to hands free 
    device connections while those prefixed with HS to the headset. Some are
    used for both and hence have no prefix
*/
struct agStruct
{
	uint16 agHsServerChan:8;
	uint16 agHfServerChan:8;				/* 16 */
    uint16 speakerGain:4;
	ag_state_t currentState:3;
	ag_profile_role_t currentProfile:2;
	ag_profile_role_t supportedProfiles:2;
	uint16 hfSupportedFeatures:5;			/* 16 */
    uint16 hfIndicatorUpdateEnabled:1;
    uint16 hfServiceIndicator:1;
	uint16 hfCallIndicator:1;
    uint16 rings_outstanding:4;
    uint16 ringContinuous:1;
	ag_profile_role_t roles_tried:2;
	uint16 hfVoiceRecogEnable:1;			/* 11 */
    uint16 hfAgSupportedFeatures;
    Delay RingDuration;
    Source rfcDataIncoming;
    Sink rfcDataOutgoing;
    BD_ADDR_T remote_addr;
};

extern struct agStruct AGState;


/* 
    For now do not include a minor dev class as this ag can be embedded into 
    different types of phone e.g. cellular, smart. cordless etc.
*/
#define EAG_COD         ( ( (uint32) 1<<21) | (1<<9) )


/*
    These are the persistent store keys used by the Embedded Audio Gateway

    NOTE the AG_INTERFACE_PS_BASE (in ag_types.h) needs to be updated if 
    new PS keys are added to this list. This base is used by the interface 
    files as the base from which to define their PS keys so needs to be 
    kept up to date or keys will be overwritten
*/
#define AG_PS_BASE 0

#define AG_PS_LINK_KEY          (AG_PS_BASE+0)


/* TODO rearrange these */

/* Start-up and initialization related */

/* ag_main.c - send a message to the connection manager */
void agPutCmMsg(void * msg);

/* ag_open.c - open the connection manager */
void agInitCfm(void);

/* ag_open.c - register other service record if necessary */
void agServiceRegisterCfm(const CM_SERVICE_REGISTER_CFM_T *cfm);

/* ag_serviceRecord.c - return a service record for the ag */
uint8 *agCreateServiceRecord(uint16 *len, ag_profile_role_t dev_type);



/* Inquiry related */

/* ag_inquire.c - Inquiry completed */
void agInquiryCompleteCfm(const CM_INQUIRY_COMPLETE_CFM_T *cfm);


/* Pairing related */

/* ag_pair.c - pairing completed indication */
void agPairCfm(const CM_PAIR_CFM_T *cfm);

/* ag_pair.c - pin code request */
void agPinCodeReq(const CM_PIN_CODE_REQ_T *req);

/* ag_pair.c - link key request */
void agLinkKeyReq(const CM_LINK_KEY_REQ_T *req);


/* Connection (RFCOMM and SCO) related */

/* ag_connect.c - outcome of the connection attempt */
void agConnectCfm(const CM_CONNECT_CFM_T *cfm);

/* ag_connect.c -  indication that the RFCOMM connection has been disconnected */
void agRfcommStatusInd(const CM_CONNECT_STATUS_IND_T *ind);

/* ag_connect.c - indication of a change in the status of a SCO connection */
void agScoStatusInd(const CM_SCO_STATUS_IND_T *ind);

/* ag_connect.c - attempt to create a SCO connection */
void agCreateSco(BD_ADDR_T addr, pkt_type_t pkt);

/* ag_connect.c - send the client the reported status of the RFCOMM conn */
void agSendStatusIndToClient(BD_ADDR_T dev_addr, connect_status_t status);

/* ag_connect.c - create the array holding the address to connection handle mapping */
void createAddressHandleMap(void);

/* ag_connect.c - given a device address return the handle corresponding to the connection to that device */
ag_handle_t agGetConnectionHandle(const BD_ADDR_T *addr);

/* ag_connect.c - service we were looking for is not supported by remote device */
void agUnsupportedServiceInd(CM_UNSUPPORTED_SERVICE_IND_T *ind);

/* ag_sdpExtra.c - request for an additional SDP search */
void agGetExtraSdpInfo(void);

/* ag_sdpExtra.c - results of additional SDP search */
void agSdpFeaturesCfm(const CM_SDP_SUPPORTED_FEATURES_CFM_T *cfm);


/* ag_ring.c - request to stop sending ring commands */
void agStopRings(void);

/* ag_volume.c - indication that the volume settings have changed */
void agVolumeChangeInd(BD_ADDR_T addr, uint16 gain);

/* ag_volume.c - send the current volume settings */
void agSendVolume(void);

/* ag_microphone.c - handle a request to set the microphone gain */
void agMicChangeInd(BD_ADDR_T addr, uint16 gain);

/* ag_data.c - sends an AT cmd to cm for transmission */
uint16 agSendATmessage(const char *at_cmd, uint16 length);

/* ag_data.c - button press indication received */
void agButtonPressInd(BD_ADDR_T addr);


/* ag_atreply.c - generate OK response */
void agSendOk(void);

/* ag_atreply.c - generate error response */
void agSendError(void);

/* ag_atreply.c - send status of service indicator */
void agSendServiceInd(uint16 value);

/* ag_atreply.c - send status of call indicator */
void agSendCallInd(uint16 value);

/* ag_atreply.c - send status of call setup indicator */
void agSendCallSetupInd(ag_call_setup_vals_t value);

/* ag_atConnect.c - generate response to CIND test cmd*/
void agSendCindTestResponse(void);

/* ag_atConnect.c - generate response to CIND read cmd */
void agSendCindReadResponse(void);

/* ag_atConnect - send current call hold settings */
void agSendCallHoldSettings(void);

/* ag_dial.c - the remote end has accpeted the call */
void agCallAnswered(BD_ADDR_T addr);

/* ag_dial.c - the remote end has accpeted the call or wants to terminate it */
void agCallRejected(BD_ADDR_T addr);

/* ag_dial.c - request to dial the given number */
void agReceivedDialNumber(BD_ADDR_T addr, const uint8 *num_data, uint16 length);

/* ag_dial.c - request to dial the number in the given memory location */
void agReceivedMemoryDial(BD_ADDR_T addr, const uint8 *mem_data, uint16 length);

/* ag_dial.c - request to redial the last number dialled */
void agReceivedLastNumberRedial(BD_ADDR_T addr);

/* ag_error.c - error received from the connection manager */
void agErrorInd(const CM_ERROR_IND_T *msg);

/* ag_error.c - tell the client about the error */
void agSendErrorToClient(ag_error_code_t error_reason, const BD_ADDR_T *rem_device);

/* ag_alloc.c - memory allocation, panic on failure */
void *agAlloc(uint16 sz);

/* ag_state.c - set the current connect state of the AG */
void agSetCurrentState(ag_state_t new_state);

/* ag_state.c - set the current profile role of the AG */
void agSetCurrentProfile(ag_profile_role_t new_role);

/* ag_state.c - is the AG currently in headset mode */
uint16 agIsCurrentlyHeadset(void);

/* ag_state.c - is the AG currently in hands free mode */
uint16 agIsCurrentlyHandsFree(void);

/* ag_state.c - set the supported profiles */
void agSetSupportedProfiles(ag_profile_role_t profs);

/* ag_state.c - is the headset profile supported */
uint16 agIsHeadsetSupported(void);

/* ag_state.c - is the hands free profile supported */
uint16 agIsHandsFreeSupported(void);

/* ag_voice.c - voice recognition enabled/ disabled */
void agVoiceRecognitionEnable(uint16 en);


#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美在线123| 精品免费日韩av| 久久99精品国产.久久久久| 9i看片成人免费高清| 国产精品一色哟哟哟| 久久99热99| 国产一二精品视频| 国产毛片一区二区| 国产成都精品91一区二区三| 成人午夜又粗又硬又大| 99re成人精品视频| 欧洲生活片亚洲生活在线观看| 99久久99久久免费精品蜜臀| 色综合夜色一区| 欧美肥妇bbw| 久久久久久影视| 国产精品色在线观看| 亚洲欧洲中文日韩久久av乱码| 亚洲免费观看高清完整版在线观看熊 | 久久超碰97人人做人人爱| 裸体在线国模精品偷拍| 国内精品免费**视频| 成人国产精品免费观看动漫| 色综合天天在线| 日韩一区二区在线看| 久久久噜噜噜久久人人看| 国产精品天美传媒| 亚洲国产欧美在线人成| 奇米在线7777在线精品| 国产v日产∨综合v精品视频| 91国产成人在线| 欧美成人vps| 成人欧美一区二区三区黑人麻豆| 一区二区三区小说| 久久99精品久久久久婷婷| 99久久精品国产一区| 4hu四虎永久在线影院成人| 国产喂奶挤奶一区二区三区| 亚洲午夜精品在线| 国产91精品一区二区麻豆亚洲| 91美女蜜桃在线| 日韩精品中文字幕在线不卡尤物| 成人av资源下载| 亚洲免费在线看| 欧美一区二区在线不卡| 日韩电影在线观看电影| 日韩你懂的电影在线观看| 蜜桃视频一区二区| 亚洲精品在线三区| 懂色av一区二区在线播放| 最好看的中文字幕久久| 成人激情图片网| 亚洲综合色视频| 亚洲欧美一区二区三区孕妇| 91精品国产日韩91久久久久久| 亚洲国产成人午夜在线一区| 免费在线一区观看| 欧美视频完全免费看| 中文字幕不卡三区| 麻豆91在线观看| 欧美日韩国产一二三| 日韩一区在线看| 成人精品视频.| 久久精品人人爽人人爽| 国内精品自线一区二区三区视频| 欧美日本不卡视频| 亚洲综合色网站| 欧美三级电影在线看| 亚洲人成网站影音先锋播放| 粉嫩av一区二区三区在线播放 | 色婷婷综合在线| 中文字幕+乱码+中文字幕一区| 日本大胆欧美人术艺术动态| 欧美色欧美亚洲另类二区| 尤物av一区二区| 97国产精品videossex| 亚洲欧美影音先锋| 色综合天天综合网天天狠天天| 国产精品护士白丝一区av| 99久久国产免费看| 亚洲精品中文在线| 精品1区2区3区| 奇米四色…亚洲| 337p日本欧洲亚洲大胆色噜噜| 美女网站色91| 久久久久久久久一| 成人精品亚洲人成在线| 亚洲乱码中文字幕| 欧美人伦禁忌dvd放荡欲情| 视频一区中文字幕| 久久综合99re88久久爱| 国产丶欧美丶日本不卡视频| 国产精品国产三级国产a| 91色婷婷久久久久合中文| 一区二区三区波多野结衣在线观看| 在线免费一区三区| 人人超碰91尤物精品国产| 精品毛片乱码1区2区3区| 高清不卡在线观看| 亚洲综合精品自拍| 日韩一区二区三区四区| 国产在线不卡一卡二卡三卡四卡| 日本一二三不卡| 欧美色涩在线第一页| 蜜桃在线一区二区三区| 国产欧美日韩视频在线观看| 91久久久免费一区二区| 美女视频一区二区三区| 国产精品久久免费看| 欧美久久婷婷综合色| 国产大陆精品国产| 性久久久久久久久久久久| 久久综合久久综合九色| 色94色欧美sute亚洲线路二| 麻豆91精品91久久久的内涵| 亚洲色图色小说| 精品久久久久久久久久久久久久久| 国产成人精品免费在线| 一区二区三区蜜桃| 国产性色一区二区| 91精品国产综合久久久蜜臀图片| 国产乱码精品一区二区三区五月婷| 亚洲蜜臀av乱码久久精品蜜桃| 欧美精品一区二区不卡| 欧美三级一区二区| 99久久伊人网影院| 韩国成人精品a∨在线观看| 亚洲一区中文在线| 国产欧美视频一区二区三区| 欧美一激情一区二区三区| 色婷婷精品大视频在线蜜桃视频 | 国产女同性恋一区二区| 欧美精品1区2区| 色天使色偷偷av一区二区| 国产麻豆精品在线| 欧美aaa在线| 一区二区三区精品在线| 国产精品国产三级国产有无不卡| 日韩一区二区三区观看| 欧美色窝79yyyycom| 99免费精品视频| 成人国产精品免费观看动漫| 国产精品99久久久| 九九精品一区二区| 麻豆国产一区二区| 蜜臀av一区二区在线观看| 午夜国产不卡在线观看视频| 亚洲欧美日韩一区二区| 国产精品伦理一区二区| 欧美国产一区在线| 国产视频亚洲色图| 欧美国产日韩一二三区| 中文字幕不卡三区| 国产精品青草综合久久久久99| 日韩精品自拍偷拍| 2022国产精品视频| 精品粉嫩aⅴ一区二区三区四区| 欧美精品精品一区| 91精品国产品国语在线不卡| 制服丝袜av成人在线看| 欧美一级黄色片| 久久久国产午夜精品| 国产亚洲短视频| 国产精品欧美极品| 蜜臀av性久久久久蜜臀aⅴ流畅 | 久久久久97国产精华液好用吗| 精品日韩一区二区三区免费视频| 欧美大片一区二区| 国产欧美视频在线观看| 亚洲特黄一级片| 亚洲成av人片一区二区梦乃| 亚洲国产精品天堂| 久久国产尿小便嘘嘘| 国产精品18久久久久久vr | 成人性生交大片免费看中文| 色综合久久中文综合久久牛| 在线精品观看国产| 欧美日韩高清一区二区三区| 宅男噜噜噜66一区二区66| 欧美久久久一区| 国产午夜精品美女毛片视频| 精品国产乱子伦一区| 国产色综合一区| 石原莉奈在线亚洲三区| 国产高清视频一区| 97久久人人超碰| 国产精品美女久久久久高潮| 欧美精品一级二级| 欧美一二三区在线| 国产精品电影一区二区| 亚洲va在线va天堂| 国产91综合网| 欧美日韩色一区| 国产精品美女久久福利网站| 日韩精品欧美精品| 色哟哟国产精品| 国产午夜一区二区三区| 丝袜美腿亚洲综合| 91蜜桃婷婷狠狠久久综合9色| 日韩视频一区二区|