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

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

?? usrfdiskpartlib.c

?? vxworks的完整的源代碼
?? C
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
/* usrFdiskPartLib.c - FDISK-style partition handler *//* Copyright 1997-2002 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------02p,10dec01,jkf  fixed typo in 02n checkin that broke 4 partition systems.02o,09nov01,jkf  SPR#71633, dont set errno when DevCreate is called w/BLK_DEV02n,04oct01,rip  SPR#66973, computation overflows with large capacity disks                 SPR#30850, CBIO_RESET may be needed on device's first reading02m,20sep01,jkf  SPR#69031, common code for both AE & 5.x.02l,03mar01,jkf  SPR#62415, use sector size from BLK_DEV.02k,26dec99,jkf  T3 KHEAP_ALLOC, fixed usrFdiskPartCreate to work w/BLK_DEV02j,31aug99,jkf  changes for new CBIO API.02i,31jul99,jkf  changed usrFdiskPartCreate. SPR#2828502h,31jul99,jkf  reentrancy overhaul. SPR#2827802g,31jul99,jkf  fixed blind resetting cbio in show routine. SPR#2827902f,31jul99,jkf  fixed bugs introduced in 02a adaptation:                  useFdiskPartParse offset calculation fixed, SPR#2828002e,31jul99,jkf  T2 merge, tidiness & spelling.02d,07dec98,lrn  partition table creation routine (SPR#21977), terse Show02c,15sep98,lrn  enabled SHOW by default, assume non-partitioned disk 		 if all partitions are nil02b,02jul98,lrn  DosFs 2.0 pre-release02a,21jun98,lrn  adopted from rev 01c by jkf.01a,01sep97,jkf  adapted from dosPartLibAta.c.*//*DESCRIPTION:This module is provided is source code to accommodate variouscustomizations of partition table handling, resulting fromvariations in the partition table format in a particular configuration.It is intended for use with dpartCbio partition manager.This code supports both mounting MSDOS file systems anddisplaying partition tables written by MSDOS FDISK.exe orby any other MSDOS FDISK.exe compatible partitioning software.  The first partition table is contained within a hard drivesMaster Boot Record (MBR) sector, which is defined as sectorone, cylinder zero, head zero or logical block address zero.The mounting and displaying routines within this code will first parse the MBR partition tables entries (defined below)and also recursively parse any "extended" partition tables,which may reside within another sector further into the hard disk.   MSDOS file systems within extended partitions are knownto those familiar with the MSDOS FDISK.exe utility as "Logical drives within the extended partition".Here is a picture showing the layout of a single disk containingmultiple MSDOS file systems:.CS  +---------------------------------------------------------+  |<---------------------The entire disk------------------->|  |M                                                        |  |B<---C:--->                                              |  |R           /---- First extended partition--------------\|  |           E<---D:---><-Rest of the ext part------------>|  |P          x                                             |  |A          t          E<---E:--->E<Rest of the ext part->|  |R                     x          x                       |  |T                     t          t<---------F:---------->|  +---------------------------------------------------------+  (Ext == extended partition sector)  C: is a primary partiion  D:, E:, and F: are logical drives within the extended partition..CEA MS-DOS partition table resides within one sector on a harddisk.  There is always one in the first sector of a hard diskpartitioned with FDISK.exe.  There first partition table maycontain references to "extended" partition tables residing onother sectors if there are multiple partitions.  The first sector of the disk is the starting point.  Partition tablesare of the format:.CSOffset from     the beginning of the sector          Description-------------          -------------------------   0x1be               Partition 1 table entry  (16 bytes)   0x1ce               Partition 2 table entry  (16 bytes)   0x1de               Partition 3 table entry  (16 bytes)   0x1ee               Partition 4 table entry  (16 bytes)   0x1fe               Signature  (0x55aa, 2 bytes).CEIndividual MSDOS partition table entries are of the format:.CSOffset   Size      Description------   ----      ------------------------------ 0x0     8 bits    boot type 0x1     8 bits    beginning sector head value 0x2     8 bits    beginning sector (2 high bits of cylinder#) 0x3     8 bits    beginning cylinder# (low order bits of cylinder#) 0x4     8 bits    system indicator 0x5     8 bits    ending sector head value 0x6     8 bits    ending sector (2 high bits of cylinder#) 0x7     8 bits    ending cylinder# (low order bits of cylinder#) 0x8    32 bits    number of sectors preceding the partition 0xc    32 bits    number of sectors in the partition.CEThe Cylinder, Head and Sector values herein are not used,instead the 32-bit partition offset and size (also known as LBAaddresses) are used exclusively to determine partition geometry.If a non-partitioned disk is detected, in which case the 0'th blockis a DosFs boot block rather then an MBR, the entire disk will beconfigured as partition 0, so that disks formatted with VxWorks anddisks formatted on MS-DOS or Windows can be accepted interchangeably.The usrFdiskPartCreate() will create a partition table with up to fourpartitions, which can be later used with usrFdiskPartRead() anddpartCbio to manage a partitioned disk on VxWorks.However, it can not be guaranteed that this partition table can be usedon another system due to several BIOS specific paramaters in the bootarea.  If interchangeability via removable disks is a requirement, partition tables should be created and volumes should be formatted on the other system with which the data is to be interchanged/CAUTIONThe partition decode function is recursive, up to the maximumnumber of partitions expected, which is no more then 24.Sufficient stack space needs to be provided via taskSpawn() to accommodate the recursion level.SEE ALSO: dpartCbio*//* includes */#include "vxWorks.h"#include "private/dosFsVerP.h"#include "stdio.h"#include "stdlib.h"#include "string.h"#include "tickLib.h"#include "dosFsLib.h"#include "usrFdiskPartLib.h"#include "private/dosFsLibP.h"	/* for byte swapping macros */#include "dpartCbio.h"#include "cbioLib.h"/* defines *//* may be undefine the following to conserve memory space */#define	INCLUDE_PART_SHOW	/* include the show function by default *//* declarations *//* locals */LOCAL STATUS useFdiskPartParse    (    CBIO_DEV_ID dev,        	/* device from which to read blocks */    CBIO_PARAMS * pCbioParams,    PART_TABLE_ENTRY *pPartTab, /* table where to fill results */    int nPart,               	/* # of entries in <pPartTable> */    ULONG startBlock,		/* where to expect part table */    ULONG extStartBlock		/* Offset to extended partition */    );#ifdef INCLUDE_PART_SHOWSTATUS usrFdiskPartShow    (    CBIO_DEV_ID cbioDev,     /* device CBIO handle */    block_t extPartOffset,    /* user should pass zero */    block_t currentOffset,    /* user should pass zero */    int extPartLevel          /* user should pass zero */    );LOCAL const struct partType /* Some partition type values & names. */    {                       /* Only MSDOS are used in this code.   */    const UINT8 partTypeNum;          const char *partTypeName;        } partNames[] =         {        {0x00, "Empty (NULL) Partition"},        {0x01, "MSDOS Partition 12-bit FAT"},           {0x02, "XENIX / (slash) Partition"},                {0x03, "XENIX /usr Partition"},         {0x04, "MSDOS 16-bit FAT <32M Partition"},          {0x05, "MSDOS Extended Partition"},         {0x06, "MSDOS 16-bit FAT >=32M Partition"},        {0x07, "HPFS / NTFS Partition"},        {0x08, "AIX boot or SplitDrive Partition"},        {0x09, "AIX data or Coherent Partition"},        {0x0a, "OS/2 Boot Manager Partition"},        {0x0b, "Win95 FAT32 Partition"},        {0x0c, "Win95 FAT32 (LBA) Partition"},        {0x0e, "Win95 FAT16 (LBA) Partition"},        {0x0f, "Win95 Extended (LBA) Partition"},        {0x10, "OPUS Partition"},        {0x11, "Hidden DOS FAT12 Partition"},        {0x12, "Compaq diagnostics Partition"},        {0x14, "Hidden DOS FAT16 Partition"},        {0x16, "Hidden DOS FAT16 (big) Partition"},        {0x17, "Hidden HPFS/NTFS Partition"},        {0x18, "AST Windows swapfile Partition"},        {0x24, "NEC DOS Partition"},        {0x3c, "PartitionMagic recovery Partition"},        {0x40, "Venix 80286 Partition"},        {0x41, "Linux/MINIX (shared with DRDOS) Partition"},        {0x42, "SFS or Linux swap part (shared with DRDOS)"},        {0x43, "Linux native (shared with DRDOS) Partition"},        {0x50, "DM (disk manager) Partition"},        {0x51, "DM6 Aux1 (or Novell) Partition"},        {0x52, "CP/M or Microport SysV/AT Partition"},        {0x53, "DM6 Aux3 Partition"},        {0x54, "DM6 Partition"},        {0x55, "EZ-Drive (disk manager) Partition"},        {0x56, "Golden Bow (disk manager) Partition"},        {0x5c, "Priam Edisk (disk manager) Partition"},        {0x61, "SpeedStor Partition"},        {0x63, "GNU HURD or Mach or Sys V/386 (ISC UNIX)"},        {0x64, "Novell Netware 286 Partition"},        {0x65, "Novell Netware 386 Partition"},        {0x70, "DiskSecure Multi-Boot Partition"},        {0x75, "PC/IX Partition"},        {0x77, "QNX4.x Partition"},        {0x78, "QNX4.x 2nd part Partition"},        {0x79, "QNX4.x 3rd part Partition"},        {0x80, "MINIX until 1.4a Partition"},        {0x81, "MINIX / old Linux Partition"},        {0x82, "Linux swap Partition"},        {0x83, "Linux native Partition"},        {0x84, "OS/2 hidden C: drive Partition"},        {0x85, "Linux extended Partition"},        {0x86, "NTFS volume set Partition"},        {0x87, "NTFS volume set Partition"},        {0x93, "Amoeba Partition"},        {0x94, "Amoeba BBT Partition"},         {0xa0, "IBM Thinkpad hibernation Partition"},        {0xa5, "BSD/386 Partition"},        {0xa7, "NeXTSTEP 486 Partition"},        {0xb7, "BSDI fs Partition"},        {0xb8, "BSDI swap Partition"},        {0xc1, "DRDOS/sec (FAT-12) Partition"},        {0xc4, "DRDOS/sec (FAT-16, < 32M) Partition"},        {0xc6, "DRDOS/sec (FAT-16, >= 32M) Partition"},        {0xc7, "Syrinx Partition"},        {0xdb, "CP/M-Concurrent CP/M-Concurrent DOS-CTOS"},        {0xe1, "DOS access-SpeedStor 12-bit FAT ext."},        {0xe3, "DOS R/O or SpeedStor Partition"},        {0xe4, "SpeedStor 16-bit FAT Ext Part. < 1024 cyl."},        {0xf1, "SpeedStor Partition"},        {0xf2, "DOS 3.3+ secondary Partition"},        {0xf4, "SpeedStor large partition Partition"},        {0xfe, "SpeedStor >1024 cyl. or LANstep Partition"},        {0xff, "Xenix Bad Block Table Partition"},     };#endif /* INCLUDE_PART_SHOW *//******************************************************************************* useFdiskPartParse - parse partitions on given disk** This routine is not intended to be user callable.* * This routine parses all existing partition tables on a disk.* It adds partition node data entries to a table which it has been * passed  for any partition which contains a* file system mountable by dosFsLib().  The size (in sectors)* of the partition and the absolute offset (in sectors) from the* start of the drive are also stored, since that is what VxWorks* CBIO device create routines need to overlay partitions. * * The partition table must appear to be valid when checked with* 0x55aa signature.   The partition table in the Master Boot Record* will be parsed first.  If there are any extended partitions found,* a (recursive) call to itself is made to parse the extended* partition(s) in the new sector(s).  Recursive functions may use a lot* of stack space. Developer should beware of stack overflow.** RETURNS: ERROR or a (positive) number of partitions decoded and filled.**/LOCAL STATUS useFdiskPartParse    (    CBIO_DEV_ID dev,        	/* device from which to read blocks */    CBIO_PARAMS * pCbioParams, 	/* ptr to CBIO device parameters */    PART_TABLE_ENTRY *pPartTab, /* table where to fill results */    int nPart,               	/* # of entries in <pPartTable> */    ULONG startBlock,		/* where to expect part table, use zero */    ULONG extStartBlock		/* Offset to extended partition, use zero */    )    {    u_char * secBuf;		/* sector data we work on */    int i;                      /* used for loop through parts  */    int partOffset;		/* offset of part tab entry in block */    int tableIndex = 0;		/* where in table to write partition geo */    u_char partBootType, partSysType ;    STATUS stat;    /* allocate a local secBuf for the read sectors MBR/Part data */    if  ((secBuf = KHEAP_ALLOC(pCbioParams->bytesPerBlk)) == NULL)        {        printErr ("usrFdiskPartParse: Error allocating sector buffer.\n");        return (ERROR);        }    bzero( (char *)secBuf, pCbioParams->bytesPerBlk);    /* Get current sector containing part table into buffer */    stat = cbioBlkRW( dev, startBlock, 1, (addr_t)secBuf,				CBIO_READ, NULL );   /*     * SPR#30850.  Certain devices when accessed for the first time report     * Error erroneously.  Once the first read fails, the device might then    * work as expected after receiving a RESET.  This fix checks for    * that condition by forcing a RESET and then retrying the read.    * If it passes after the RESET, then it continues as requested.  If    * it fails again, however, then it assumes that the Error condition will    * continue in perpetuity and returns the error code as before.    */    if( stat == ERROR )         {        if(cbioIoctl(dev, CBIO_RESET, 0) == ERROR)            {            printErr ("usrFdiskPartParse: error issuing "                      "CBIO_RESET cmd to device %x, errno %x\n",                      dev, errno);            printErr ("usrFdiskPartParse: device is not ready\n");            KHEAP_FREE(secBuf);            return (ERROR);            }        }        /* The reset terminated correctly.  Now try the access again. */        stat = cbioBlkRW( dev, startBlock, 1, (addr_t)secBuf,				CBIO_READ, NULL );        /* If still returning error, then assume not going to work. */        if( stat == ERROR )            {            printErr ("usrFdiskPartParse: error reading "

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久婷婷国产综合精品电影| 亚洲三级小视频| 免费高清在线一区| 欧美一区二区免费视频| 免费看日韩a级影片| 欧美一区二区三区不卡| 久久国产欧美日韩精品| 精品久久国产老人久久综合| 国产在线精品一区在线观看麻豆| 日韩精品一区二区三区四区| 国产suv精品一区二区883| 中文字幕在线不卡视频| 91网站最新网址| 亚洲一本大道在线| 日韩精品一区二区三区视频在线观看 | 激情六月婷婷综合| 久久久久久久久岛国免费| jizzjizzjizz欧美| 亚洲丰满少妇videoshd| 日本伦理一区二区| 三级久久三级久久| 久久免费看少妇高潮| 91猫先生在线| 开心九九激情九九欧美日韩精美视频电影 | 中文字幕在线一区免费| 欧美日本一区二区在线观看| 国产电影精品久久禁18| 洋洋av久久久久久久一区| 日韩欧美国产一二三区| 91麻豆精品国产91久久久使用方法| 蜜臀a∨国产成人精品| 国产欧美一区二区精品性色| 在线中文字幕不卡| 国产在线播放一区| 亚洲国产中文字幕| 国产日产欧产精品推荐色| 欧洲精品在线观看| 高清国产一区二区| 日产欧产美韩系列久久99| 欧美激情综合五月色丁香| 欧美日韩国产成人在线91| 国产精品亚洲人在线观看| 午夜精品免费在线| 成人免费在线视频| 亚洲精品在线观| 欧美日韩精品福利| 成人免费av在线| 免费一级欧美片在线观看| 亚洲精品国久久99热| 国产亚洲福利社区一区| 日韩一级高清毛片| 欧洲色大大久久| 色综合天天综合网国产成人综合天 | 欧美剧在线免费观看网站| 成人午夜视频在线观看| 久久99精品久久久久久国产越南 | 日本va欧美va欧美va精品| 亚洲在线观看免费视频| 日韩美女啊v在线免费观看| 久久一区二区三区四区| 91精品在线免费观看| 99v久久综合狠狠综合久久| 国产91丝袜在线18| 麻豆91在线播放免费| 一区二区三区久久| 国产精品久久99| 精品国产123| 日韩三级视频在线观看| 欧美午夜精品免费| 国产成a人无v码亚洲福利| 国产成a人亚洲精品| 麻豆精品在线播放| 天堂一区二区在线| 亚洲亚洲人成综合网络| 一区二区三区在线视频播放| 国产精品福利av| 国产精品久线在线观看| 日韩二区在线观看| 成人欧美一区二区三区白人| 国产精品嫩草影院av蜜臀| 久久久久久久久岛国免费| 欧美一级片在线观看| 欧美一区二区三区系列电影| 欧美在线观看视频一区二区| 色8久久精品久久久久久蜜| 成人不卡免费av| gogo大胆日本视频一区| 成人看片黄a免费看在线| 久久99久国产精品黄毛片色诱| 日韩精品国产精品| 日本亚洲三级在线| 精品无码三级在线观看视频| 精品一区二区在线播放| 国产福利一区二区| 色综合天天综合狠狠| 欧美日韩精品电影| 精品久久久久久久久久久久久久久久久 | 不卡欧美aaaaa| 在线观看国产日韩| 制服丝袜成人动漫| 国产一区美女在线| 国模套图日韩精品一区二区| 婷婷综合五月天| 亚洲二区在线视频| 国内不卡的二区三区中文字幕| 免费观看日韩电影| 国产精品99久久久久久似苏梦涵 | 一区二区在线观看av| 亚洲精品高清视频在线观看| 亚洲韩国精品一区| 国产在线视频精品一区| www.日韩在线| 欧美高清你懂得| 国产三级精品视频| 国产精品久久久久久久午夜片| 亚洲美女免费在线| 丝袜美腿亚洲综合| 国产成人在线网站| 欧美在线短视频| 久久看人人爽人人| 五月综合激情日本mⅴ| 国产aⅴ精品一区二区三区色成熟| 91福利视频网站| 久久久久国产精品厨房| 一区二区不卡在线播放| 韩国午夜理伦三级不卡影院| 99re视频精品| 欧美精品一区视频| 亚洲另类在线一区| 国产自产高清不卡| 91久久免费观看| 国产婷婷色一区二区三区四区| 中文字幕一区二区三区四区| 午夜精品国产更新| 一本到不卡精品视频在线观看| 日韩一级片在线播放| 亚洲综合另类小说| 成人免费视频app| 日韩网站在线看片你懂的| 亚洲欧美综合网| 国产永久精品大片wwwapp| 在线视频综合导航| 中文字幕在线观看不卡| 国产一区高清在线| 91精品国产综合久久蜜臀 | 精品99一区二区三区| 天天操天天干天天综合网| 91在线播放网址| 国产精品久久国产精麻豆99网站| 精品一区二区三区在线播放| 欧美精品乱码久久久久久| 亚洲日本在线a| jlzzjlzz欧美大全| 国产精品久久影院| 成人免费的视频| 中文欧美字幕免费| 成人精品国产免费网站| 国产欧美精品一区二区色综合| 九一九一国产精品| 精品免费99久久| 国产在线一区二区| 久久精品这里都是精品| 国产综合色在线视频区| 久久久久久久综合色一本| 免费日本视频一区| 日韩一区二区三区视频| 午夜视频在线观看一区二区三区| 欧美无砖专区一中文字| 午夜在线成人av| 5月丁香婷婷综合| 日韩精品一卡二卡三卡四卡无卡| 欧美欧美欧美欧美| 久久精品久久综合| 久久综合九色综合97婷婷| 国产一区二区视频在线| 国产视频不卡一区| 国内不卡的二区三区中文字幕| 欧美日韩在线播| 美女一区二区在线观看| 欧美大片拔萝卜| 国产91精品在线观看| 亚洲色大成网站www久久九九| 欧美中文字幕久久| 日韩电影在线看| 精品国产一区二区三区不卡| 国产一区二区看久久| 亚洲欧洲精品一区二区三区不卡| 日本高清免费不卡视频| 午夜激情一区二区| 精品1区2区在线观看| 国产精品综合久久| 亚洲男人天堂一区| 欧美日韩国产在线观看| 狠狠色综合色综合网络| 国产精品欧美一级免费| 欧美三级三级三级| 国模大尺度一区二区三区| 亚洲人午夜精品天堂一二香蕉| 欧美精品一二三| 国产馆精品极品|