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

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

?? usrata.c

?? VXWORKS源代碼
?? C
字號:
/* usrAta.c - ATA/ATAPI initialization *//* Copyright 1992-2002 Wind River Systems, Inc. *//*modification history--------------------01l,02mar02,jkf  SPR#73841, fixed (cdrom) trailing paran indexing error.                 fixed warning: pn unitialized if INCLUDE_CDROMFS.01k,26nov01,jac  added file system type check to allow support for specifying                 CDROM filesystem.01j,02ocy01,jkf  fixing SPR#70377, usrAtaConfig altered char * arg, this                  modifies .text seg and caused checksum error for tgtsvr. 01i,21sep01,jkf  cbio API changes.01h,21jun00,rsh  upgrade to dosFs 2.001g,14oct98,lrn  modified for DosFs 2.001f,30jul99,jkf  SPR#4429.01e,02jun98,ms   created configlette.01d,30oct97,db   added call to ATA_SWAP in usrAtaPartition. 01c,30oct97,dat  added #include pccardLib.h and ataDrv.h01b,14jul97,dgp  doc: update to match hard-copy01a,11may95,hdn  re-written for ATA driver.*//*DESCRIPTIONThis file is used to configure and initialize the VxWorks ATA support.This file is included by the prjConfig.c configuration file created by theProject Manager.SEE ALSO: usrExtra.cNOMANUAL*/#include "vxWorks.h"#include "string.h"#include "dosFsLib.h"#include "dcacheCbio.h"#include "dpartCbio.h"#include "usrFdiskPartLib.h"#include "drv/hdisk/ataDrv.h"#ifdef INCLUDE_CDROMFS#include "cdromFsLib.h"#endif/* forward declaration *//* macro's */#ifndef ATA_CACHE_SIZE#define ATA_CACHE_SIZE 0x0#endif /* !ATA_CACHE_SIZE *//********************************************************************************* usrAtaConfig - mount a DOS file system from an ATA hard disk or a CDROM*                file system from an ATAPI CDROM drive** This routine mounts a DOS file system from an ATA hard disk. Parameters:** .IP <drive> * the drive number of the hard disk; 0 is `C:' and 1 is `D:'.* .IP <devName>* the mount point for all partitions which are expected to be present* on the disk, separated with commas, for example "/ata0,/ata1" or "C:,D:".* Blanks are not allowed in this string.  If the drive is an ATAPI CDROM* drive, then the CDROM filesystem is specified by appending "(cdrom)"* after the mount point name.  For example, a CDROM drive could be specified* as "/cd(cdrom)".* .LP** NOTE: Because VxWorks does not support creation of partition tables,* hard disks formatted* and initialized on VxWorks are not compatible with DOS machines.  This* routine does not refuse to mount a hard disk that was initialized on* VxWorks. Up to 8 disk partitions are supported.*** RETURNS: OK or ERROR.** SEE ALSO:* `src/config/usrAta.c',* .pG "I/O System, Local File Systems, Intel i386/i486/Pentium"*/STATUS usrAtaConfig    (    int     ctrl,	 /* 0: primary address, 1: secondary address */    int     drive,	 /* drive number of hard disk (0 or 1) */    char    *devNames    /* mount points for each partition */    )    {    BLK_DEV *pBlkDev;    CBIO_DEV_ID cbio, masterCbio;    STATUS  stat = OK;    char    *tmp;     char    *devNamesCopy;    char    *freePtr;    char    *sysType;    char    *devName[PART_MAX_ENTRIES];    int     pn;     int     numPart = 0;    /* check argument sanity */    if( NULL == devNames || EOS == *devNames )        {	printErr ("usrAtaConfig: Invalid device name.\n");	return (ERROR);        }    if (ATA_MAX_DRIVES <= (UINT) drive)	{	printErr ("usrAtaConfig: drive is out of range (0-%d).\n",                   ATA_MAX_DRIVES - 1);	return (ERROR);	}    if (ATA_MAX_CTRLS <= (UINT) ctrl)        {        printErr ("usrAtaConfig: controller is out of range (0-%d).\n",                  ATA_MAX_CTRLS - 1);        return (ERROR);        }    /*      * make private copy of the devNames, SPR#70337      * strlen does not count EOS, so we add 1 to malloc.     */    devNamesCopy = malloc (1 + (int) (strlen (devNames)));       /* ensure malloc suceeded    */    if (NULL == devNamesCopy)               {	printErr ("usrAtaConfig: malloc returned NULL\n");        return (ERROR);         }    /* store the pointer for free, since devNamesCopy is modified */       freePtr = devNamesCopy;    /* copy string, include EOS  */    strcpy (devNamesCopy, devNames);         /* Check for file system spec */    sysType = index (devNamesCopy, '(');    if (sysType != NULL)        {        *sysType = '\0';        sysType++;        tmp = index( sysType, ')' );        if (tmp != NULL)            {            *tmp = '\0';            }	}    else        {        sysType = "dos";        }    /* Parse the partition device name string */    for (numPart = 0; numPart < PART_MAX_ENTRIES; numPart++)	{	if (EOS == *devNamesCopy)	    break;	tmp = devNamesCopy ;	devName[numPart] = devNamesCopy ;	tmp = index (tmp, ',');	if (NULL == tmp)	    {	    numPart++;	    break;	    }	*tmp = EOS ;	devNamesCopy = tmp+1;	}    /* create block device for the entire disk, */    if ((pBlkDev = ataDevCreate (ctrl, drive, 0, 0)) == (BLK_DEV *) NULL)        {        printErr ("Error during ataDevCreate: %x\n", errno);        free (freePtr);        return (ERROR);        }    if (strcmp (sysType, "dos") == 0)        {        /* create disk cache for the entire drive */        cbio = dcacheDevCreate ((CBIO_DEV_ID) pBlkDev, NULL, ATA_CACHE_SIZE, freePtr);        if (NULL == cbio)            {            /* insufficient memory, will avoid the cache */            printErr ("WARNING: Failed to create %d bytes of disk cache"                      " ATA disk %s configured without cache\n",                      ATA_CACHE_SIZE, devNames);            cbio = cbioWrapBlkDev (pBlkDev);            }        /* create partition manager */        masterCbio = dpartDevCreate (cbio, numPart, usrFdiskPartRead);        if (NULL == masterCbio)            {            printErr ("Error creating partition manager: %x\n", errno);            free (freePtr);            return (ERROR);            }        /* Create a DosFs device for each partition required */        for (pn = 0; pn < numPart; pn ++)            {            stat = dosFsDevCreate (devName[pn], dpartPartGet (masterCbio, pn),                                   NUM_DOSFS_FILES, NONE);            if (stat == ERROR)                {                printErr ("Error creating dosFs device %s, errno=%x\n",                          devName[pn], errno);                free (freePtr);                return (ERROR);                }            }        }#ifdef INCLUDE_CDROMFS    else if (strcmp (sysType, "cdrom") == 0)        {        if (cdromFsDevCreate (devName[0], pBlkDev) == NULL)            {            printErr ("Error creating cdromFs device %s, errno=%x\n",                      devName[0], errno);            free (freePtr);            return (ERROR);            }        }#endif    else        {        printErr ("Unknown or un-included filesystem type: \"%s\"\n", sysType);        free (freePtr);        return (ERROR);        }    free (freePtr);    return (OK);    }/******************************************************************************** usrAtaInit - intialize the hard disk driver** This routine is called from usrConfig.c to initialize the hard drive.*/void usrAtaInit (void)    {    int ix;    ATA_RESOURCE *pAtaResource;    for (ix = 0; ix < ATA_MAX_CTRLS; ix++)        {        pAtaResource = &ataResources[ix];        if (pAtaResource->ctrlType == IDE_LOCAL)            if ((ataDrv (ix, pAtaResource->drives, pAtaResource->intVector,                   pAtaResource->intLevel, pAtaResource->configType,                   pAtaResource->semTimeout, pAtaResource->wdgTimeout))               == ERROR)                {                printf ("ataDrv returned ERROR from usrRoot.\n");                }        }    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人aaa| 国产视频亚洲色图| 国产欧美精品区一区二区三区| 成人欧美一区二区三区小说| 石原莉奈在线亚洲二区| 成人av电影在线播放| 日韩一本二本av| 亚洲综合激情另类小说区| 国产在线国偷精品免费看| 色综合久久久久网| 国产精品黄色在线观看| 韩国三级电影一区二区| 欧美精品免费视频| 中文字幕在线观看一区二区| 久久9热精品视频| 欧美丰满高潮xxxx喷水动漫| 中文字幕一区二区三区av| 国产成人免费在线观看不卡| 欧美成人午夜电影| 美女性感视频久久| 91精品国产入口在线| 亚洲va韩国va欧美va精品| 色激情天天射综合网| 亚洲欧美日韩国产综合在线 | 日本高清免费不卡视频| 国产欧美一区二区精品性色| 久久99国产精品免费网站| 欧美久久一二三四区| 三级不卡在线观看| 欧美妇女性影城| 喷水一区二区三区| 欧美草草影院在线视频| 国产在线精品一区二区| 久久久久99精品国产片| 国产精品69久久久久水密桃| 久久久综合九色合综国产精品| 久久成人免费网| 精品乱人伦小说| 国内精品写真在线观看| 久久理论电影网| av一区二区三区四区| 亚洲欧洲av一区二区三区久久| 不卡的av在线| 亚洲综合精品自拍| 91精品国产综合久久福利软件| 美日韩黄色大片| 国产欧美综合在线观看第十页| 国产不卡免费视频| 亚洲人精品午夜| 欧美日韩mp4| 国内精品免费**视频| 国产精品三级电影| 欧美亚洲综合色| 久久97超碰国产精品超碰| 中文字幕不卡在线观看| 日本国产一区二区| 蜜桃视频一区二区三区在线观看| 久久一区二区视频| 99精品欧美一区二区三区小说| 亚洲综合在线视频| 欧美v日韩v国产v| 99国产欧美另类久久久精品| 亚洲成人自拍网| 国产午夜精品一区二区| 欧美日韩视频一区二区| 国产伦精品一区二区三区免费| 亚洲男人的天堂网| 日韩欧美一级精品久久| 99热这里都是精品| 蜜桃av一区二区| 亚洲美女精品一区| 欧美成人精品福利| 在线观看日韩高清av| 国产一区二区主播在线| 亚洲午夜一区二区| 国产精品免费人成网站| 日韩一区二区三区四区| 91无套直看片红桃| 国产一区二区精品久久91| 亚洲成人自拍偷拍| 亚洲男人电影天堂| 中文字幕欧美三区| 久久这里都是精品| 这里只有精品免费| 日本韩国欧美国产| 成人av在线一区二区三区| 麻豆91在线播放| 亚洲国产精品久久一线不卡| 国产精品视频观看| 久久综合给合久久狠狠狠97色69| 欧美性三三影院| 色婷婷国产精品久久包臀| 国产suv精品一区二区883| 美女视频一区二区三区| 亚洲成av人片在线观看| 亚洲激情五月婷婷| 国产精品久久免费看| 久久综合成人精品亚洲另类欧美| 欧美高清你懂得| 国产欧美日韩不卡免费| 91影视在线播放| 成人国产视频在线观看| 国产一区二区在线看| 蜜臀av一区二区在线观看| 日韩中文字幕一区二区三区| 亚洲精品国产成人久久av盗摄 | 中文字幕亚洲区| 精品成人佐山爱一区二区| 日韩欧美亚洲国产另类| 欧美日韩国产免费一区二区| 在线欧美小视频| 色综合天天在线| av一二三不卡影片| 99在线精品观看| 成人美女在线观看| 97久久超碰国产精品| 亚洲五码中文字幕| 久久精品免费观看| 亚洲小说欧美激情另类| 日本一区二区三区在线观看| 久久久综合精品| 91精品国产美女浴室洗澡无遮挡| 色婷婷综合中文久久一本| 成人免费黄色在线| 成人免费电影视频| av爱爱亚洲一区| 99riav久久精品riav| 色狠狠综合天天综合综合| 99久久99久久免费精品蜜臀| 99精品桃花视频在线观看| 色综合久久久久| 欧美欧美欧美欧美首页| 欧美变态凌虐bdsm| 国产日韩欧美高清在线| 亚洲欧洲综合另类| 亚洲风情在线资源站| 精品亚洲porn| www.日韩av| 欧美午夜电影一区| 精品福利一区二区三区免费视频| 国产亚洲精品bt天堂精选| 亚洲欧美日韩久久| 久久精品国产一区二区| gogogo免费视频观看亚洲一| 欧美日韩在线综合| 久久亚洲二区三区| 樱花影视一区二区| 久久精品国产精品亚洲综合| 暴力调教一区二区三区| 欧美老人xxxx18| 亚洲国产精品激情在线观看 | 日韩女优av电影| 中文字幕日韩精品一区| 青青草视频一区| 色综合天天狠狠| 久久久久久久久久久黄色| 夜夜夜精品看看| 福利91精品一区二区三区| 欧美日韩高清一区| 中文字幕在线视频一区| 久久国产剧场电影| 色网综合在线观看| 国产日韩欧美精品综合| 三级在线观看一区二区| 91在线免费播放| 欧美精品一区二区三区高清aⅴ| 亚洲女女做受ⅹxx高潮| 国产精品香蕉一区二区三区| 制服丝袜一区二区三区| 亚洲欧洲性图库| 国产成人午夜电影网| 欧美三级欧美一级| 亚洲欧美影音先锋| 久久se精品一区二区| 在线91免费看| 一级特黄大欧美久久久| 成人18视频日本| 久久先锋影音av鲁色资源网| 日韩中文字幕麻豆| 在线观看一区不卡| 一区二区在线看| 北条麻妃国产九九精品视频| 久久久三级国产网站| 久久99久久99| 欧美岛国在线观看| 欧美aaaaaa午夜精品| 欧美喷潮久久久xxxxx| 亚洲自拍偷拍欧美| 日本道色综合久久| 亚洲天堂免费看| www.视频一区| 国产精品沙发午睡系列990531| 国产另类ts人妖一区二区| 日韩精品一区国产麻豆| 美女视频一区在线观看| 9191成人精品久久| 七七婷婷婷婷精品国产| 正在播放亚洲一区| 蜜臀av一区二区在线观看 | 欧美天天综合网|