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

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

?? menu.c

?? arm4 driver for freescale imx35
?? C
字號:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this sample source code is subject to the terms of the Microsoft
// license agreement under which you licensed this sample source code. If
// you did not accept the terms of the license agreement, you are not
// authorized to use this sample source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the LICENSE.RTF on your install media or the root of your tools installation.
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES.
//
//------------------------------------------------------------------------------
//
//  File:  menu.c
//


#include <eboot.h>
#include <utilities.h>


extern BOOT_CFG g_bootCfg;
extern EBOOT_CONTEXT g_eboot;
extern OAL_KITL_DEVICE g_bootDevices[];
extern OAL_KITL_DEVICE g_kitlDevices[];

//------------------------------------------------------------------------------
//
//  Define:  dimof
//
#ifdef dimof
#undef dimof
#endif
#define dimof(x)                (sizeof(x)/sizeof(x[0]))

//------------------------------------------------------------------------------

static VOID ShowSettings(OAL_BLMENU_ITEM *pMenu);
static VOID ShowNetworkSettings(OAL_BLMENU_ITEM *pMenu);
static VOID SelectBootDevice(OAL_BLMENU_ITEM *pMenu);
static VOID SetKitlMode(OAL_BLMENU_ITEM *pMenu);
static VOID SaveSettings(OAL_BLMENU_ITEM *pMenu);
void ArubaboardBootShellMenuItem(OAL_BLMENU_ITEM *pMenu);


// Prototype so that we can jump to the bootloader shell code
void BootShell();

//------------------------------------------------------------------------------

static OAL_BLMENU_ITEM g_menuNetwork[] = {
    {
        L'1', L"Show Current Settings", ShowNetworkSettings,
        NULL, NULL, NULL
    }, {
        L'2', L"Enable/disable KITL", OALBLMenuEnable,
        L"KITL", &g_bootCfg.kitlFlags, (VOID*)OAL_KITL_FLAGS_ENABLED
    }, {
        L'3', L"KITL interrupt/poll mode", SetKitlMode,
        NULL, NULL, NULL
    }, {
        L'4', L"Enable/disable DHCP", OALBLMenuEnable,
        L"DHCP", &g_bootCfg.kitlFlags, (VOID*)OAL_KITL_FLAGS_DHCP
    }, {
        L'5', L"Set IP address", OALBLMenuSetIpAddress,
        L"Device", &g_bootCfg.ipAddress, NULL
    }, {
        L'6', L"Set IP mask", OALBLMenuSetIpMask,
        L"Device", &g_bootCfg.ipMask, NULL
    }, {
        L'7', L"Set default router", OALBLMenuSetIpAddress,
        L"Default router", &g_bootCfg.ipRoute, NULL
    }, {
        L'8', L"Enable/disable VMINI", OALBLMenuEnable,
        L"VMINI", &g_bootCfg.kitlFlags, (VOID*)OAL_KITL_FLAGS_VMINI
    }, {
        L'0', L"Exit and Continue", NULL,
        NULL, NULL, NULL
    }, {
        0, NULL, NULL,
        NULL, NULL, NULL
    }
};

static OAL_BLMENU_ITEM g_menuMain[] = {
    {
        L'1', L"Bootloader Shell", ArubaboardBootShellMenuItem,
        NULL, NULL, NULL
    }, {
        L'2', L"Show Current Settings", ShowSettings,
        NULL, NULL, NULL
    }, {
        L'3', L"Select Boot Device", SelectBootDevice,
        L"Boot", &g_bootCfg.bootDevLoc, g_bootDevices
    }, {
        L'4', L"Select Debug Device", OALBLMenuSelectDevice,
        L"Debug", &g_bootCfg.kitlDevLoc, g_kitlDevices
    }, {
        L'5', L"Network Settings", OALBLMenuShow,
        L"Network Settings", &g_menuNetwork, NULL
    }, {
        L'6', L"Save Settings", SaveSettings,
        NULL, NULL, NULL
    }, {
        L'0', L"Exit and Continue", NULL,
        NULL, NULL, NULL
    }, {
        0, NULL, NULL,
        NULL, NULL, NULL
    }
};

static OAL_BLMENU_ITEM g_menuRoot = {
    0, NULL, OALBLMenuShow,
    L"ArubaBoard Main Menu", g_menuMain, NULL
};

//------------------------------------------------------------------------------

VOID BLMenu()
{
    UINT32 time, delay = 5;
    WCHAR key = 0;

    // First let user break to menu
    OALLog(L"Hit space to enter ArubaBoard bootloader menu.");
    while (delay > 0 && key != L' ') 
	{
       OALLog(L".", delay);
       time = OALGetTickCount();
       while ((OALGetTickCount() - time) < 1000) {
          if ((key = OALBLMenuReadKey(FALSE)) == L' ') break;
       }
       delay--;
    }
    
    if (key == L' ') {
        OALBLMenuShow(&g_menuRoot);
    }        
    else {
        OALLog(L"\r\n");
    }        
}

//------------------------------------------------------------------------------

VOID ShowSettings(OAL_BLMENU_ITEM *pMenu)
{
    OALLog(L"\r\n Main:\r\n");
    if(g_bootCfg.bootDevLoc.LogicalLoc == OMAP5912_MMCSD_REGS_PA){ // boot from SD/MMC
        OALLog(
            L"  Boot device:   %s(%S)\r\n",
            OALKitlDeviceName(&g_bootCfg.bootDevLoc, g_bootDevices), g_bootCfg.binName
            );
    }
    else{
        OALLog(
            L"  Boot device:   %s\r\n",
            OALKitlDeviceName(&g_bootCfg.bootDevLoc, g_bootDevices)
            );
    }
    OALLog(
        L"  Debug device:  %s\r\n",
        OALKitlDeviceName(&g_bootCfg.kitlDevLoc, g_kitlDevices)
    );
    ShowNetworkSettings(pMenu);
}

//------------------------------------------------------------------------------

VOID ShowNetworkSettings(OAL_BLMENU_ITEM *pMenu)
{
    OALLog(L"\r\n Network:\r\n");
    OALLog(
        L"  KITL state:    %s\r\n",
        (g_bootCfg.kitlFlags & OAL_KITL_FLAGS_ENABLED) ? L"enabled" : L"disabled"
    );
    OALLog(
        L"  KITL mode:     %s\r\n",
        (g_bootCfg.kitlFlags & OAL_KITL_FLAGS_POLL) ? L"poll" : L"interrupt"
    );
    OALLog(
        L"  DHCP:          %s\r\n",
        (g_bootCfg.kitlFlags & OAL_KITL_FLAGS_DHCP) ? L"enabled" : L"disabled"
    );
    OALLog(L"  IP address:    %s\r\n", OALKitlIPtoString(g_bootCfg.ipAddress));
    OALLog(L"  IP mask:       %s\r\n", OALKitlIPtoString(g_bootCfg.ipMask));
    OALLog(L"  IP router:     %s\r\n", OALKitlIPtoString(g_bootCfg.ipRoute));
    OALLog(
        L"  VMINI:         %s\r\n",
        (g_bootCfg.kitlFlags & OAL_KITL_FLAGS_VMINI) ? L"enabled" : L"disabled"
    );
}

//------------------------------------------------------------------------------

VOID SelectBootDevice(OAL_BLMENU_ITEM *pMenu){
    int i;
    WCHAR buf[MAX_PATH];

    OALBLMenuSelectDevice(pMenu);
    if(g_bootCfg.bootDevLoc.LogicalLoc == OMAP5912_MMCSD_REGS_PA){ // boot from SD/MMC
        // let user select image name
        OALLog(L"Enter image name(actual '%S'): ", g_bootCfg.binName);
        if(OALBLMenuReadLine(buf, dimof(buf))){
            for(i = 0; buf[i] != 0; ++i){
                g_bootCfg.binName[i] = (CHAR)buf[i];
            }
        }
    }
}

//------------------------------------------------------------------------------

VOID SetKitlMode(OAL_BLMENU_ITEM *pMenu)
{
    WCHAR key;

    if ((g_bootCfg.kitlFlags & OAL_KITL_FLAGS_POLL) != 0) {
        OALLog(L" Set KITL to interrupt mode [y/-]: ");
    } else {
        OALLog(L" Set KITL to poll mode [y/-]: ");
    }    

    // Get key
    key = OALBLMenuReadKey(TRUE);
    OALLog(L"%c\r\n", key);

    if (key == L'y' || key == L'Y') {
        if ((g_bootCfg.kitlFlags & OAL_KITL_FLAGS_POLL) != 0) {
            g_bootCfg.kitlFlags &= ~OAL_KITL_FLAGS_POLL;
            OALLog(L" KITL set to interrupt mode\r\n");
        } else {
            g_bootCfg.kitlFlags |= OAL_KITL_FLAGS_POLL;
            OALLog(L" KITL set to poll mode\r\n");
        }            
    }
}

//------------------------------------------------------------------------------

VOID SaveSettings(OAL_BLMENU_ITEM *pMenu)
{
    WCHAR key;

    OALLog(L" Do you want save current settings [-/y]? ");

    // Get key
    key = OALBLMenuReadKey(TRUE);
    OALLog(L"%c\r\n", key);

    // Depending on result
    if (key != L'y' && key != L'Y') goto cleanUp;

    if (BLWriteBootCfg(&g_bootCfg)) 
	{
        OALLog(L" Current settings has been saved\r\n");
    }
	else 
	{        
        OALLog(L"ERROR: Settings save failed!\r\n");
    }

cleanUp:
    return;
}

//------------------------------------------------------------------------------


void ArubaboardBootShellMenuItem(OAL_BLMENU_ITEM *pMenu)
{
    BootShell();
}


//------------------------------------------------------------------------------


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品资源在线观看| 欧美麻豆精品久久久久久| 欧美私人免费视频| 2017欧美狠狠色| 亚洲一级二级三级| 国产99久久久国产精品| 欧美日本国产一区| 亚洲欧美日本韩国| 国产一区二区三区免费观看| 欧美视频中文一区二区三区在线观看| 精品久久一区二区| 午夜视频在线观看一区二区三区| 成人精品视频.| 精品免费一区二区三区| 婷婷综合在线观看| 99久久精品免费看国产免费软件| 欧美成人video| 日韩高清在线电影| 欧美日韩国产小视频| 综合久久综合久久| bt欧美亚洲午夜电影天堂| 精品国产一二三区| 日本不卡不码高清免费观看| 欧美日韩国产小视频| 悠悠色在线精品| 91丨porny丨国产入口| 久久欧美中文字幕| 国产一区二区三区黄视频| 欧美一区二区三区成人| 亚洲小说春色综合另类电影| 日本黄色一区二区| 亚洲欧洲精品天堂一级| 成人黄色国产精品网站大全在线免费观看 | 欧美日韩精品一区二区天天拍小说 | 精品美女一区二区三区| 亚洲v日本v欧美v久久精品| 91丝袜高跟美女视频| 国产精品欧美一级免费| 成人av在线网| 国产精品黄色在线观看| 91在线观看成人| 亚洲精品视频在线| 欧美在线不卡一区| 日日噜噜夜夜狠狠视频欧美人| 欧美日韩一区中文字幕| 日韩二区三区四区| 久久综合九色欧美综合狠狠| 国产一区二区三区在线观看免费| 2022国产精品视频| 91香蕉国产在线观看软件| 久久久青草青青国产亚洲免观| 日本vs亚洲vs韩国一区三区| 欧美高清精品3d| 免费亚洲电影在线| 久久久www成人免费毛片麻豆| 国产成人在线色| 亚洲欧美色综合| 欧美日韩国产美| 久久精品免费观看| 中文字幕精品一区二区三区精品| 99re亚洲国产精品| 亚洲va国产天堂va久久en| 精品久久人人做人人爽| 成人av在线资源网站| 亚洲一区影音先锋| 久久免费美女视频| 色综合天天综合网国产成人综合天| 天天亚洲美女在线视频| 欧美刺激脚交jootjob| 国产精品一区二区在线看| 日韩理论片中文av| 日韩片之四级片| 国产不卡免费视频| 日韩精品电影在线| 国产精品色哟哟| 欧美精选在线播放| 成人中文字幕在线| 婷婷久久综合九色综合绿巨人 | 在线看国产日韩| 精品在线播放免费| 亚洲小说欧美激情另类| 国产日韩欧美精品一区| 欧美日韩国产高清一区二区 | 亚洲一线二线三线久久久| 欧美精品一区二区蜜臀亚洲| 色婷婷久久99综合精品jk白丝 | 欧美大度的电影原声| 91黄色免费观看| 国产成人精品一区二 | 中文字幕在线观看不卡视频| 日韩午夜精品视频| 在线视频你懂得一区| 粉嫩aⅴ一区二区三区四区五区| 亚洲成人免费在线| 亚洲欧美成aⅴ人在线观看| 久久久蜜臀国产一区二区| 欧美一区二区三区性视频| 色噜噜狠狠成人网p站| 国产精品99久久久久久久女警| 日韩电影免费在线看| 亚洲bt欧美bt精品777| 亚洲精品亚洲人成人网 | 综合分类小说区另类春色亚洲小说欧美| 91精品黄色片免费大全| 日本精品视频一区二区三区| 99精品视频一区| 成人短视频下载| 成人午夜电影网站| 国产sm精品调教视频网站| 久久av中文字幕片| 美国欧美日韩国产在线播放| 午夜电影网一区| 亚洲高清免费观看高清完整版在线观看| 中文字幕一区二区三区蜜月| 久久久久国产精品麻豆ai换脸| 精品国产91九色蝌蚪| 日韩视频在线观看一区二区| 91 com成人网| 欧美一区二区三区视频免费| 欧美精品久久一区| 欧美一区二区三区四区视频| 91精品国产乱码| 91精品国产综合久久久久久| 欧美一区日韩一区| 精品国产区一区| www国产成人| 中文文精品字幕一区二区| 欧美激情艳妇裸体舞| 国产精品免费人成网站| 国产精品国产精品国产专区不蜜| 国产精品久久久久一区二区三区共| 国产精品久久久久影院亚瑟| 亚洲欧美激情视频在线观看一区二区三区 | 中文在线资源观看网站视频免费不卡 | 欧美色大人视频| 91精品国产综合久久久蜜臀粉嫩| 精品日韩一区二区三区| 国产欧美中文在线| 一区二区三区欧美| 日韩精品乱码av一区二区| 久久精品72免费观看| 成人污污视频在线观看| 91麻豆国产精品久久| 91精品欧美一区二区三区综合在| 日韩欧美的一区二区| 久久久久久久精| 亚洲另类一区二区| 免费亚洲电影在线| 白白色 亚洲乱淫| 欧美日韩免费电影| 亚洲精品一区二区三区蜜桃下载| 国产精品免费aⅴ片在线观看| 亚洲电影在线免费观看| 国产激情一区二区三区四区 | 91香蕉视频在线| 欧美一区二区三区免费大片| 久久久www免费人成精品| 亚洲欧美一区二区三区孕妇| 天天综合色天天综合色h| 国产不卡视频在线观看| 欧美日韩成人综合| 国产精品免费人成网站| 男男成人高潮片免费网站| 99免费精品在线观看| 欧美一区二区成人| 亚洲美女电影在线| 国内精品久久久久影院薰衣草| 日本黄色一区二区| 欧美韩日一区二区三区四区| 免费观看在线色综合| 色婷婷精品大在线视频| 国产色91在线| 日产精品久久久久久久性色| 不卡的av电影| 欧美成人欧美edvon| 亚洲综合一区二区三区| 高清不卡在线观看| 欧美www视频| 三级影片在线观看欧美日韩一区二区| 国产一区二区三区久久悠悠色av| 欧美福利电影网| 一区二区三区在线免费视频| 成人动漫av在线| 欧美激情一区二区在线| 久久精品99久久久| 欧美一区二区三区的| 婷婷夜色潮精品综合在线| 91福利视频久久久久| 中文字幕在线不卡| 成人美女视频在线观看18| 国产亚洲欧美日韩俺去了| 久久97超碰国产精品超碰| 欧美精品久久一区二区三区| 亚洲二区在线观看| 欧美视频中文一区二区三区在线观看| 亚洲欧美成人一区二区三区| 99re66热这里只有精品3直播 | 国产a久久麻豆| 国产人成亚洲第一网站在线播放 | 欧美xxxxxxxx|