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

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

?? ag_private.h

?? 藍牙語音網關軟件源代碼
?? 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一区二区三区免费野_久草精品视频
国产成人午夜精品5599| 91亚洲国产成人精品一区二区三 | 尤物在线观看一区| 日本不卡一区二区| 波多野结衣中文字幕一区| 91精品欧美一区二区三区综合在 | 国产成人亚洲综合色影视 | 97久久超碰国产精品| 日韩欧美国产高清| 亚洲成人精品一区二区| 不卡电影免费在线播放一区| 26uuu久久天堂性欧美| 午夜国产精品影院在线观看| 日韩视频中午一区| 亚洲精品国产a| 91影视在线播放| 国产情人综合久久777777| 日本成人中文字幕| 欧美美女直播网站| 亚洲成人在线免费| 欧美性极品少妇| 亚洲激情图片小说视频| 972aa.com艺术欧美| 中国av一区二区三区| 精品一二三四在线| 欧美xxxxxxxx| 激情五月婷婷综合| 欧美mv日韩mv| 久久超碰97中文字幕| 日韩午夜精品视频| 蜜桃精品在线观看| 精品国免费一区二区三区| 蜜臂av日日欢夜夜爽一区| 制服丝袜成人动漫| 免费观看久久久4p| 欧美大片国产精品| 国产一区欧美二区| 欧美激情中文字幕一区二区| 国产91色综合久久免费分享| 欧美国产成人精品| a级精品国产片在线观看| 视频一区视频二区中文字幕| 欧美日韩在线精品一区二区三区激情| 亚洲欧美日韩国产中文在线| 色综合久久久久综合| 一区二区三区在线影院| 欧美性极品少妇| 日韩av在线发布| 久久这里只精品最新地址| 盗摄精品av一区二区三区| 亚洲欧美综合网| 91福利社在线观看| 欧美aaaaaa午夜精品| 久久午夜电影网| 成人国产视频在线观看| 一级女性全黄久久生活片免费| 欧美喷潮久久久xxxxx| 老司机精品视频线观看86| 久久久精品综合| 91成人在线精品| 久久精品国产精品亚洲综合| 中文字幕欧美区| 在线观看日韩电影| 欧美大胆一级视频| 亚洲人一二三区| 99re这里只有精品视频首页| 国产亚洲综合在线| 国产激情一区二区三区| 精品国产三级电影在线观看| 午夜电影一区二区三区| 欧洲国产伦久久久久久久| 亚洲精品欧美在线| 99精品欧美一区二区三区小说| 国产欧美日韩精品在线| 国产一区二区导航在线播放| 久久久久亚洲蜜桃| 国内一区二区视频| 国产日韩高清在线| 国产成人福利片| 国产欧美日韩在线视频| 粉嫩一区二区三区在线看| 色吧成人激情小说| 日韩影院在线观看| 亚洲女厕所小便bbb| 国产日韩视频一区二区三区| 欧美精品丝袜中出| 99久久99久久免费精品蜜臀| 久久99精品久久久久久国产越南| 亚洲免费av网站| 国产精品网站在线观看| 中文字幕在线不卡一区| 欧美电影免费观看高清完整版在线| 色综合久久99| 北岛玲一区二区三区四区| 裸体一区二区三区| 日精品一区二区| 一区二区三区精品| 久久久久国产免费免费| 欧美电影一区二区三区| 色呦呦网站一区| 成+人+亚洲+综合天堂| 国产一区视频网站| 毛片不卡一区二区| 日本在线不卡视频| 亚洲电影欧美电影有声小说| 亚洲视频香蕉人妖| 国产精品萝li| 国产精品热久久久久夜色精品三区| 欧美大黄免费观看| 日韩精品影音先锋| 欧美一级精品在线| 4438x亚洲最大成人网| 欧美日韩综合一区| 欧洲一区在线电影| 在线欧美日韩国产| 欧美亚一区二区| 欧美综合欧美视频| 欧美在线免费观看视频| 日本一区免费视频| 欧美午夜精品久久久久久孕妇 | 国产精品久久久久久久久免费相片| 在线观看不卡一区| 国产成人精品免费一区二区| 亚洲mv在线观看| 中文文精品字幕一区二区| 欧美一区二区三区在线电影 | 日本精品一区二区三区高清| 精品亚洲国产成人av制服丝袜| 亚洲天天做日日做天天谢日日欢 | 国产成人综合精品三级| 亚瑟在线精品视频| 国产精品久久久久久福利一牛影视 | 欧美专区日韩专区| 国产成人在线视频网站| 捆绑调教一区二区三区| 亚洲综合视频在线观看| 亚洲天堂a在线| 国产精品私人影院| 国产黄人亚洲片| 日本韩国欧美在线| 欧美电影免费观看高清完整版在 | 久久久美女毛片| 久久这里只精品最新地址| 一二三区精品福利视频| 亚洲欧美另类小说视频| 奇米888四色在线精品| 9色porny自拍视频一区二区| 成人深夜视频在线观看| 欧美一区日本一区韩国一区| 亚洲在线成人精品| 国产精品自拍在线| 欧美疯狂做受xxxx富婆| 亚洲精品亚洲人成人网| 国产喷白浆一区二区三区| 一区二区三区欧美| 亚洲欧美怡红院| 久久久不卡网国产精品一区| 91精品福利在线一区二区三区| 精品噜噜噜噜久久久久久久久试看| 精品久久久久久久久久久久久久久 | 国产精品乱码人人做人人爱| 性感美女久久精品| 色婷婷综合久久久中文字幕| 日韩亚洲电影在线| 欧美日本免费一区二区三区| 国产精品三级av在线播放| 欧美成人伊人久久综合网| 欧美在线视频你懂得| 99精品视频一区二区三区| 国产伦精品一区二区三区免费迷| 亚洲v中文字幕| 亚洲国产精品一区二区www在线 | 美国毛片一区二区| 麻豆一区二区99久久久久| 亚洲高清不卡在线| 亚洲成a天堂v人片| 日韩va欧美va亚洲va久久| 蜜臀av一区二区| 国产精品一色哟哟哟| 91性感美女视频| 欧美tickling挠脚心丨vk| 欧美日韩在线三区| 日韩免费一区二区三区在线播放| 日韩欧美国产1| 国产精品美女久久久久高潮| 亚洲精品videosex极品| 天堂成人免费av电影一区| 国产麻豆午夜三级精品| 91成人免费在线视频| 日韩一区二区视频在线观看| 国产午夜精品一区二区 | 成人avav在线| 欧美日韩电影在线| 国产精品美女久久久久久| 日韩精品成人一区二区三区| 国产成人午夜片在线观看高清观看| 91视频国产资源| 欧美精品一区二区在线观看| 精品不卡在线视频| 国产精品每日更新在线播放网址 |