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

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

?? usrata.c

?? vxworks source code, used for develop vxworks system.
?? 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一区二区三区免费野_久草精品视频
日韩精品中午字幕| 日本最新不卡在线| 国产成人综合在线| 欧美一区二区在线播放| 亚洲一区二区成人在线观看| www.日韩在线| 欧美怡红院视频| 亚洲人午夜精品天堂一二香蕉| 一本大道综合伊人精品热热| 亚洲观看高清完整版在线观看| 欧美伊人精品成人久久综合97 | 日韩国产高清在线| 欧美成人国产一区二区| 国产91丝袜在线播放九色| 依依成人精品视频| 日韩一区二区不卡| 成人h版在线观看| 欧美日韩一区二区三区四区| 中文字幕欧美区| 蜜桃视频第一区免费观看| 久久精品人人做人人综合| 91理论电影在线观看| 免费在线视频一区| 久久久99精品免费观看| 在线观看视频欧美| 国产精品资源在线看| 亚洲精品视频自拍| 欧美精品一区二区蜜臀亚洲| 91在线精品一区二区三区| 午夜天堂影视香蕉久久| 国产午夜精品美女毛片视频| 欧美性做爰猛烈叫床潮| 国产一区二区成人久久免费影院| 亚洲日本欧美天堂| 久久午夜羞羞影院免费观看| 欧美综合一区二区| 国产盗摄视频一区二区三区| 亚洲成人av一区| 国产精品久线观看视频| 精品日韩在线观看| 欧美日韩亚洲另类| 欧美a一区二区| 亚洲精品视频免费看| 在线一区二区三区四区| 国产精品99久久久久久久女警| 一区二区三区在线看| 久久精品亚洲精品国产欧美 | 91女人视频在线观看| 毛片不卡一区二区| 亚洲成av人片| 一级做a爱片久久| 国产精品国产三级国产aⅴ原创 | 日本欧洲一区二区| 亚洲综合色网站| 亚洲视频香蕉人妖| 日本一区二区三区高清不卡| 日韩欧美中文一区| 制服丝袜中文字幕一区| 久草中文综合在线| 国产精品免费免费| 国产成人自拍网| 国产在线乱码一区二区三区| 亚洲国产欧美一区二区三区丁香婷| 国产精品网站导航| 国产亚洲美州欧州综合国| 日韩一区二区三区在线观看| 欧美高清视频www夜色资源网| 色婷婷亚洲综合| 91日韩一区二区三区| 91在线观看视频| 91麻豆swag| 一本一本大道香蕉久在线精品 | 欧美另类videos死尸| 色天天综合色天天久久| 色婷婷综合久色| 91在线观看污| 91亚洲男人天堂| 99国产精品久久久| 成人免费看片app下载| 成人免费高清视频| aaa欧美日韩| 色综合天天视频在线观看| 91黄色激情网站| 欧美吻胸吃奶大尺度电影| 欧美精品日日鲁夜夜添| 欧美福利电影网| 精品国产在天天线2019| 国产日本欧美一区二区| 国产精品免费观看视频| 亚洲欧美一区二区视频| 亚洲精品国产成人久久av盗摄| 亚洲一级二级三级| 日本不卡一区二区三区高清视频| 日韩高清不卡一区| 国产一区中文字幕| eeuss鲁片一区二区三区| 在线精品国精品国产尤物884a| 欧美精品久久99| 亚洲精品一区二区三区在线观看 | 日本道色综合久久| 欧美日韩电影一区| 精品成人佐山爱一区二区| 26uuu国产日韩综合| 国产精品国产成人国产三级| 亚洲综合在线视频| 蜜桃视频在线一区| www.亚洲激情.com| 91精品国产欧美一区二区成人| 欧美va亚洲va在线观看蝴蝶网| 欧美国产乱子伦| 亚洲丶国产丶欧美一区二区三区| 精品一区二区三区的国产在线播放| 国产91精品入口| 欧美丰满高潮xxxx喷水动漫| 欧美极品少妇xxxxⅹ高跟鞋 | 亚洲成人先锋电影| 国产美女一区二区| 在线亚洲一区观看| 精品av久久707| 一区二区三区av电影| 国内精品视频666| 日本道精品一区二区三区| 久久影院视频免费| 天堂资源在线中文精品| 懂色av一区二区夜夜嗨| 9191国产精品| 亚洲视频1区2区| 狠狠色狠狠色综合日日91app| 91麻豆福利精品推荐| 久久综合九色综合久久久精品综合| 亚洲乱码国产乱码精品精的特点| 激情五月婷婷综合网| 欧美精品日韩一区| 依依成人综合视频| 成人一级视频在线观看| 日韩一级免费观看| 亚洲午夜精品在线| 99re这里只有精品6| 国产视频911| 久久激情五月激情| 欧美日韩三级在线| 亚洲男人的天堂在线aⅴ视频| 国产剧情在线观看一区二区| 欧美一区二区三区视频在线| 亚洲精品精品亚洲| 成人av在线播放网站| 精品国产百合女同互慰| 青青国产91久久久久久| 欧美制服丝袜第一页| 亚洲丝袜美腿综合| 成熟亚洲日本毛茸茸凸凹| 欧美va在线播放| 美女免费视频一区二区| 91精品欧美综合在线观看最新| 一区二区三区欧美久久| 色8久久精品久久久久久蜜| 国产精品盗摄一区二区三区| 粉嫩欧美一区二区三区高清影视| 亚洲精品在线观看网站| 久草精品在线观看| 精品国产伦一区二区三区免费| 日韩 欧美一区二区三区| 91麻豆精品国产91久久久久| 亚洲成人综合网站| 欧美另类videos死尸| 婷婷开心激情综合| 欧美一区国产二区| 蜜桃av一区二区| 精品少妇一区二区三区视频免付费| 免费成人你懂的| 精品国产1区二区| 国产伦精品一区二区三区免费迷 | 日韩一二三区不卡| 久久激五月天综合精品| 久久精品日产第一区二区三区高清版| 狠狠v欧美v日韩v亚洲ⅴ| 久久久精品免费免费| 成人性视频免费网站| 成人欧美一区二区三区黑人麻豆 | 欧美精品一区二区三区在线播放| 另类小说欧美激情| 久久蜜桃香蕉精品一区二区三区| 国产丶欧美丶日本不卡视频| 中文字幕中文字幕一区二区 | 国产精品996| 综合在线观看色| 欧美日韩电影在线| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲成av人在线观看| 在线电影院国产精品| 韩国毛片一区二区三区| 中文成人av在线| 欧美亚一区二区| 国内欧美视频一区二区 | 亚洲国产日韩综合久久精品| 欧美一级欧美一级在线播放| 国产精品1区2区3区在线观看| 国产精品每日更新| 欧美二区三区的天堂| 国产精品亚洲综合一区在线观看|