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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? main.c

?? 藍(lán)牙HANDFREE軟件源代碼
?? C
字號:
/*
  Main.c - This file contains the main function, which kicks off the
  hands free application.
*/
#include "handsfree_private.h"
#include "handsfree.h"

#ifdef HS_HF_ENABLED
#include "piohshf.h"
#endif

#include <event.h>
#include <message.h>
#include <print.h>
#include <sched.h>
#include <stdlib.h>
#include <vm.h>






/*
    This is a global variable used to maintain the state of the hands
    free device itself.  The structure is defined in handsfree_private.h and
    includes information such as which state the device is in (idle,
    connecting, etc.), whether or not it is paired, ...
*/

HandsFreeState HFstate ;


int main(void)
{
    /*
        Initialize the timer subsystem.  Now we can use timers in the
        application.
    */
    TimerInit();

#ifdef HS_HF_ENABLED
    /* If running as a pio driven combined headset/hands_free app then start it */
    pioHsHfInit();
#endif



    /*
        Kick off the Virtual Machine scheduler.  This is what calls
        each of the tasks in the application.
    */
    Sched();
    
    return 0;
}


/*
    This function is used to put a message in the message queue to be
    delivered to another task.  In this case, the message is always
    delivered to task #1.  In the scope of the Headset demo, task #1
    is the Headset Framework Handler (hsf_handler.c).
*/

void putMsg(void *msg)
{
    MessagePut(HEADSET_FRAMEWORK_TASK, msg) ;
}


/*
    This is the declaration of the handsfree task.  This loop is
    called by the scheduler to process any incoming messages/events
    from external tasks.  Many of the events may be the result of an
    action started by this task.
*/

DECLARE_TASK(2)
{
    /* Need a void msg pointer for incoming messages. */
    void * msg ;  

    /*
        We need to know what type of message was sent. This type may
        be different for each implementation of applications, but the
        messages will not be very much different than those already
        defined by the Connection Manager.
    */
    MessageType type ;  

    /*
        Get the message, if any, from the queue so that we can process
        it.  Notice that only one message is processed at a time.
    */
    msg = MessageGet(HANDSFREE_TASK, &type) ;

    if (msg)
    {
        switch (type)
        {
            /*
              The actions taken by openReq(), which was called in main() 
              have finished.
            */
            case HS_OPEN_CFM:
                hfOpenCfm((HS_OPEN_CFM_T*) msg);
                break ;
 
            /* The pairing operation has completed. */
            case HS_PAIR_CFM:
                hfPairCfm((HS_PAIR_CFM_T*) msg);
                break ;
            
            case HS_RESET_CFM:
                hfResetCfm((HS_RESET_CFM_T*) msg);
                break;

                /* The connect operation has completed. */
            case HS_CONNECT_CFM:
                hfConnectCfm((HS_CONNECT_CFM_T *) msg);
                break ;
                
                /*
                    Indication that the RFCOMM connection has been diconnected
                    This can be due to a user action or to a failure resulting in
                    the disconnection.
                */
            case HS_CONNECT_STATUS_IND:
                hfConnectStatusInd((HS_CONNECT_STATUS_IND_T *) msg);
                break ;
                
                /* Data contained in msg could not be parsed by the AT parser */
            case HS_CMD_IND :
                hfCmdInd((HS_CMD_IND_T *) msg);
                break ;

            /*
                There is an incoming call.  This is the indication that should
                cause the device to "ring" or otherwise indicate to the user
                that there is an incoming call.
            */
            case HS_RING_IND :
                hfRingInd((HS_RING_IND_T *) msg);
                break ;            

            /*
                This event indicates that an error has occurred and gives an error
                code to indicate what went wrong
            */
            case HS_ERROR_IND:
                hfErrorInd((HS_ERROR_IND_T *) msg);
                break;

            /* This event relays information about volume gain adjustments. */
            case HS_VGS_IND :
                hfVolumeInd((HS_VGS_IND_T *) msg);
                break ;                       
                                        
            /*
                This event indicates news about the SCO connection.  Generally
                the news informs the application of a SCO disconnection.
            */
            case HS_SCO_STATUS_IND :
                hfScoStatusInd((HS_SCO_STATUS_IND_T *) msg) ;
                break ;

            /* Microphone gain change indication */
            case HS_MIC_IND:
                hfMicrophoneInd((HS_MIC_IND_T *)msg);
                break;
                
            /* Caller id indication */
            case HANDSFREE_CALLER_ID_IND:
                hfCallerIdInd((HANDSFREE_CALLER_ID_IND_T *) msg);
                break;
            
            /* Indicator status update */
            case HANDSFREE_INDICATOR_STATUS_IND:
                hfIndicatorStatusInd((HANDSFREE_INDICATOR_STATUS_IND_T *)msg);
                break;

            /* The in-band ring setting of the AG has changed */
            case HANDSFREE_IN_BAND_RING_IND:
                hfInBandRingEnable((HANDSFREE_IN_BAND_RING_IND_T *)msg);
                break;

            /* Voice dial status update */
            case HANDSFREE_VOICE_DIAL_ENABLE_IND:
                hfVoiceDialEnableInd((HANDSFREE_VOICE_DIAL_ENABLE_IND_T *)msg);
                break;

            default :
                PRINT(("hands-free device: Unrecognised msg type 0x%x\n",type));
                break ;
        }
        MessageDestroy(msg);  /* Done with the message.  Free the memory. */
    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本久久精品一区二区| 另类小说图片综合网| gogo大胆日本视频一区| 亚洲图片欧美综合| 欧美日韩亚洲不卡| 日韩va亚洲va欧美va久久| 欧美成人精品1314www| 青草国产精品久久久久久| 日韩欧美专区在线| 国产suv精品一区二区三区| 最新中文字幕一区二区三区 | 亚洲色图制服丝袜| 91蜜桃传媒精品久久久一区二区 | 亚瑟在线精品视频| 日韩免费看网站| 成人综合在线视频| 亚洲韩国精品一区| 精品成人一区二区三区四区| 丁香婷婷综合网| 一区二区成人在线视频| 欧美成人性战久久| 波多野结衣在线一区| 亚洲va在线va天堂| 国产亚洲欧美日韩在线一区| 91免费看视频| 美女久久久精品| 中文字幕一区在线观看| 欧美精品三级在线观看| 国产经典欧美精品| 偷偷要91色婷婷| 国产精品国产三级国产aⅴ中文 | 欧美色精品在线视频| 国产一区美女在线| 亚洲最新在线观看| www精品美女久久久tv| 91精彩视频在线观看| 国产乱淫av一区二区三区 | 午夜精品一区二区三区免费视频| www国产精品av| 欧美亚洲综合在线| 成人黄色av电影| 九九**精品视频免费播放| 亚洲乱码中文字幕| 久久久久国产精品麻豆ai换脸| 在线观看视频91| 丁香婷婷综合激情五月色| 免费成人小视频| 亚洲综合久久久久| 国产精品美女久久久久aⅴ国产馆| 欧美一区二区三区在线| 日本道精品一区二区三区| 国产99久久久国产精品| 久久99精品一区二区三区| 亚洲午夜电影网| 亚洲日本护士毛茸茸| 国产农村妇女毛片精品久久麻豆| 日韩三区在线观看| 欧美日韩三级视频| 91黄色在线观看| 91丨九色丨国产丨porny| 成人免费视频一区二区| 国产精品夜夜爽| 精品一区二区三区免费观看 | 国产九色精品成人porny| 日本在线不卡一区| 视频一区二区中文字幕| 性做久久久久久免费观看欧美| 亚洲精品成人精品456| 亚洲天堂精品视频| 亚洲免费观看高清完整| 国产精品久久一级| 亚洲欧洲日韩综合一区二区| 中文一区二区完整视频在线观看| 国产性天天综合网| 国产日韩精品久久久| 国产欧美日韩另类视频免费观看| 久久久久久久久久久黄色| 久久综合九色综合97婷婷女人| 精品久久久久久无| 久久影院视频免费| 国产午夜精品一区二区三区嫩草| 国产亚洲欧美日韩在线一区| 国产偷国产偷精品高清尤物| 国产婷婷色一区二区三区| 国产亚洲短视频| 国产精品久久久久久久久久久免费看 | 欧美美女激情18p| 91精品国产aⅴ一区二区| 日韩免费视频一区二区| 久久综合久久99| 日本一区二区三级电影在线观看| 中文字幕免费一区| 亚洲人成人一区二区在线观看| 亚洲美女精品一区| 午夜精品一区在线观看| 另类小说色综合网站| 粉嫩蜜臀av国产精品网站| 91社区在线播放| 欧美日本韩国一区二区三区视频| 日韩欧美激情在线| 亚洲国产精品成人综合 | 亚洲福中文字幕伊人影院| 日韩高清一区二区| 国产精品一区二区不卡| 91蜜桃视频在线| 日韩午夜激情免费电影| 中文字幕av不卡| 亚洲一区二区三区四区的| 日本sm残虐另类| 国产精品小仙女| 在线一区二区三区四区| 欧美电影免费观看高清完整版在线观看 | 国产一区二区三区精品视频| 91蜜桃在线免费视频| 日韩一区二区视频| 国产精品美女久久福利网站| 五月婷婷久久丁香| 国产suv精品一区二区6| 欧美色电影在线| 国产欧美一区二区精品婷婷| 亚洲综合一区在线| 国产资源在线一区| 欧美性生活一区| 中文字幕免费在线观看视频一区| 日韩主播视频在线| 91原创在线视频| 欧美mv和日韩mv国产网站| 亚洲制服丝袜av| 不卡一区在线观看| xfplay精品久久| 日韩黄色小视频| 久久精品视频一区二区| 亚洲午夜视频在线观看| 国产91丝袜在线播放| 日韩精品一区二区三区三区免费| 一区二区在线看| www.av精品| 久久精品亚洲一区二区三区浴池| 日韩电影在线一区二区| 一本大道久久a久久精二百| 国产婷婷精品av在线| 久久99国内精品| 91精品国模一区二区三区| 亚洲欧美视频在线观看视频| 国产高清久久久| 日韩一区二区精品| 国产欧美日产一区| 亚洲综合成人在线| 在线亚洲欧美专区二区| 国产欧美一区二区三区在线老狼| 国产精品久久精品日日| 狠狠色2019综合网| 91精品国产麻豆国产自产在线| 亚洲色图制服诱惑| 国产a精品视频| 精品欧美久久久| 亚洲永久精品国产| 欧美性生活一区| 亚洲人成亚洲人成在线观看图片| 国产又黄又大久久| 亚洲精品在线电影| 奇米四色…亚洲| 在线播放日韩导航| 成人免费在线观看入口| 91亚洲永久精品| 国产精品久久久久久久久久免费看| 老司机免费视频一区二区三区| 日本福利一区二区| 亚洲天堂精品在线观看| 成人av第一页| 国产精品美女久久久久aⅴ| 97精品国产97久久久久久久久久久久 | 中文字幕中文字幕一区二区| 玖玖九九国产精品| 2020国产精品自拍| 国产一区二区主播在线| 欧美sm美女调教| 国产成人精品综合在线观看| 久久夜色精品一区| 国产精品一区二区黑丝| 久久久国际精品| 国产成人综合视频| 亚洲视频一二三| 欧洲精品一区二区| 亚洲一区二区三区不卡国产欧美 | 美女视频免费一区| 久久精品亚洲精品国产欧美| 国产精品一区二区久久不卡| 久久丝袜美腿综合| 99久精品国产| 亚洲一区二区高清| 欧美老年两性高潮| 无码av免费一区二区三区试看 | 久久久久久久久蜜桃| 国产精品99久久不卡二区| 国产精品美女久久久久久2018 | 国产资源精品在线观看| 国产精品的网站| 欧美性生交片4| 免费人成网站在线观看欧美高清|