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

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

?? dospartlibata.c

?? vxworks demo all 完整板本
?? C
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
/* dosPartLibAta.c - show & mount ATA HDD MSDOS partitions *//*modification history--------------------01c,15sep97,jkf   removed LCHS support.  Only useful for MSDOS versions                  before 3.3, not likely anyone needs LCHS support.                    Added support for big endian arches and arches without                  dynamic bus sizing, which involved byte swapping macro                  and reading sector data with macro offsets. Now supports                  80x86, 68k, SPARC, MIPS, PPC, i960, etc.)  Revised docs.01b,01sep97,jkf   fixed check for LBA support in dosPartRdLbaAta().                  fixed stdlib.h filename case for Unix.                  fixed args to ataDevCreate in example comments.                  fixed cosmetics in sector and show routines.  01a,01sep97,jkf   written.*//*DESCRIPTION:This library is provided by Wind River Systems CustomerSupport strictly as an educational example.This code supports both mounting and displaying partition tables written by MSDOS FDISK.exe or by 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 Cylinder, Head, and Sector (CHS) combination further into the hard disk.   (Also knownas extended partition tables chained from the MBR's partitiontable.  MSDOS file systems within extended partitions are knownto those familiar with the MSDOS FDISK.exe utility as "Logical drives within the extended partition".Since MSDOS file systems have a fixed number of clusters, 64Kb,and clusters are the minimum allocation unit at the file systemlevel, using partitions can help optimize cluster size for a givenhard disk,  improving performance and resource usage.  For example, a 1-gigabyte hard disk with a single MSDOS file system has the following minimum allocation unit at the dosFsLib open/read/writelevel interface:    1GB/64KB = Minimum allocation unit.This may produce a minimum allocation unit that is larger thanwhat the developer desires (for cluster boundary buffer alignment,or other buffering, ect).One solution is to sub-divide the disk into smaller partitionsor "logical disks" on the single physical disk and format file systems over each of the partitions.  (Then using this code youmay mount them.)   If you used four equal sized partitions, thenthis method produces:    256MB/64KB = Minimum allocation unit.	    256MB/64KB = Minimum allocation unit.    256MB/64KB = Minimum allocation unit.    256MB/64KB = Minimum allocation unit.This produces a smaller minimum allocation unit and may be better suited for optimal application file system performance.Each partition contains its own unique file system.  As faras the file system level is concerned it is on a unique disk.Here is a picture showing the layout of a single disk containingmultiple MSDOS file systems:(Note, all ASCII pictures herein are best viewed with an 'equally sized characters' or 'fixed width' style font)  +---------------------------------------------------------+  |<---------------------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)A 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:Offset 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)Individual MSDOS partition table entries are of the format:Offset   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  In the partition table entry, the Sector/Cylinder (16bits)(offset 0x2 & 0x3) fields data are stored in the format: |7|6|5|4|3|2|1|0|  The first 8 bits of offset 0x2.  | | `------------ 6 least significant bit's contain the sector   | |               offset within cylinder.  sector == 6 bits.  | |  `-`-------------- Two most significant (high order) bits of the                     cylinder value. |7|6|5|4|3|2|1|0|  2nd 8 bits  (cylinder 0x3)  `---------------- Eight least significant (low order) bits of the                    cylinder value.This format restricts partition entries to 10 cylinder bits & 6 sectorbits and 8 head bits.  This is also the format used by the PC-AT BIOSInt13h functions, which is used by FDISK.exe dosPartLibAta/Scsi.c uses the following method of parsing the CHS valuesstored in the 0x2 & 0x3 partition table offsets into distinct values:Cyl = ((((dospt_startSec) & 0x00c0) << 2) |       (((dospt_startSec) & 0xff00) >> 8));Hd  = pPartTbl->dospt_startHead;Sec = (pPartTbl->dospt_startSec & 0x003f); (see DOS_PART_TBL struct typedef in dosFsLib.h)This produces individual CHS value from the values thatare contained within the MSDOS partition table entry.  Definitions of CHS terms:CHS - Cylinder/Head/Sector. L-CHS - Logical - CHS (used by INT 13 AxH/FDISK.exe)         256 heads, 1024 cylinders, 63 sectors. max.        LCHS allow ~8.4 GB addressable space.P-CHS - Physical CHS (used by physical ATA device)         16 heads, 65535 cylinders, 63 sectors.        PCHS allow ~137GB addressable space.        (VxWorks ataRawio() uses PCHS)LBA - Logical Block Address. ATA/SCSI absolute sector      numbering scheme.  LBA sector 0 == addresses the      first sector on a device by definition.  ATA devices      may also support LBA at the device interface. ATA      standard says that cylinder 0, head 0, sector 1 == LBA 0.      LBA allows (~137GB) on an ATA device. The  MSDOS "logical CHS" (LCHS) format combined with the Physical IDE/ATA CHS interface (PCHS) gives MSDOS the following addressing limitation:                  +------------+----------+----------------+                     | BIOS INT13 | IDE/ATA  | Combined Limit |+-----------------+------------+----------+----------------+   |Max Sectors/Track|  63        |    255   |     63         |+-----------------+------------+----------+----------------+|Max Heads        |  256       |     16   |     16         |+-----------------+------------+----------+----------------+|Max Cylinders    |  1024      |  65536   |    1024        |+-----------------+------------+----------+----------------+|Capacity         |  8.4GB     |  136.9GB |   528 MB       |+-----------------+------------+----------+----------------+1024 x 16 x 63 X 512 bytes/sector = 528.48 MB limit.Cylinder bits : 10 = 1024Head bits     :  4 = 16Sector bits   :  6 (-1) = 63 (by convention, CHS sector numbering begins at #1, not #0; LBA begins at zero, which is CHS#1) To overcome the limitation. PC BIOS/OS vendors perform what is oftenreferred to as geometric or "drive" CHS translation to address more than 528MB, and to "address" cylinders above 1024.BIOS vendors offer CHS translation extensions that are basedaround the format of the PC-AT BIOS call "INT 0x13 function 0x8"aka "Get Current Drive Parameters"  There are also two parametertables EDPT and FDPT set by the BIOS interfaces.  EDPT is sometimesnot supported depending on the system BIOS.  The FDPT is always supported on PC-AT compatible BIOS.  Code is available for the x86VxWorks BSP to call INT13h F8h romInit.s BIOS call, which returnsthe FDPT.  This is not needed when using LBA on newer systems.It is possible in the pc486/pc386 VxWorks BSP's to make anBIOS (INT13h F8H) call in romInit.s before the switch to protected mode.  Sample romInit.s code demonstrating this will be provided upon request, contact johnx@wrs.com.requesting "Int13h romInit.s x86 code".There exists also some 3rd party software based disk overlayprograms (Such as OnTrack's Disk Manager,TM.) which uses asemi-proprietary strategy to support drives over 528MB.  In most cases, the translated LCHS geometry is applied such thatall sectors are addressed at the same physical location as whenthe drive is used within an untranslated environment.  However,not in all cases, and then there is a breakdown.  Alas, there is not any standard for defining the altered geometry translationscheme, so compatibility issues will arise when moving drives fromone BIOS, Operating System, driver, and/or controller to another.VxWorks SCSI and ATA drivers communicate directly with thecontroller and do not use the BIOS.  The VxWorks ATA drivermay address the full 136.9GB offered by ATA, and the full rangeoffered by SCSI.  So this is not an issue for VxWorks.  It shouldbe noted however, since all the partition table data will be stored in LCHS format.Here is an example of a typical PCHS to LCHS translation.(Note, all ASCII pictures herein are best viewed with an 'equally sized characters'/'fixed width' style font)+----------------+------------+----------------+-------------+--------+|Actual Cylinders|Actual Heads|Altered Cylinder|Altered Heads|Max Size|+----------------+------------+----------------+-------------+--------+|  1<C<=1024     | 1<H<=16    |     C=C        |    H=H      |528 MB  |+----------------+------------+----------------+-------------+--------+| 1024<C<=2048   | 1<H<=16    |     C=C/2      |    H=H*2    |  1GB   |+----------------+------------+----------------+-------------+--------+| 2048<C<=4096   | 1<H<=16    |     C=C/4      |    H=H*4    | 2.1GB  |+----------------+------------+----------------+-------------+--------+| 4096<C<=8192   | 1<H<=16    |     C=C/8      |    H=H*8    | 4.2GB  |+----------------+------------+----------------+-------------+--------+| 8192<C<=16384  | 1<H<=16    |     C=C/16     |    H=H*16   | 8.4GB  |+----------------+------------+----------------+-------------+--------+| 16384<C<=32768 | 1<H<=8     |     C=C/32     |    H=H*32   | 8.4GB  |+----------------+------------+----------------+-------------+--------+| 32768<C<=65536 | 1<H<=4     |     C=C/64     |    H=H*64   | 8.4GB  |+----------------+------------+----------------+-------------+--------+Another type of translation always sets the sectors to 63, this produces different geometry than the above.+----------------+----------+---------+--------------+|Range           | Sectors  | Heads   | Cylinders    |+----------------+----------+---------+--------------+|  1<X<=528MB    |   63     |  16     | X/(63*16*512)|+----------------+----------+---------+--------------+| 528MB<X<=1GB   |   63     |  32     | X/(63*32*512)|+----------------+----------+---------+--------------+| 1GB<X<=2.1GB   |   63     |  64     | X/(63*64*512)|+----------------+----------+---------+--------------+| 2.1GB<X<=4.2GB |   63     |  128    |X/(63*128*512)|+----------------+----------+---------+--------------+| 4.2GB<X<=8.4GB |   63     |  256    |X/(63*255*512)|+----------------+----------+---------+--------------+There are several MSDOS utilities (from Phoenix, and Western Digital, and more, such as wdtblchk.exe, and chkbios.exe) whichcan be used on PC's to check translations.  These utilitiesuse BIOS calls to read the EPDT and FPDT to determine the PCHSand LCHS and LBA values for a given system.  TRANSLATION ALGORITHMS:----------------------The algorithm used in this code for LBA to PCHS translation (in dosPartRdLba[Ata/Scsi]) is:        PCHS_cylinder = LBA / (heads_per_cylinder * sectors_per_track)         temp = LBA % (heads_per_cylinder * sectors_per_track)PCHS_head     = temp / sectors_per_trackPCHS_sector   = temp % sectors_per_track + 1The reverse, PCHS to LBA, is not implement but shown hereshould anyone need to implement it:LBA = (((cylinder * heads_per_cylinder + heads )         * sectors_per_track ) + sector - 1)Both of these can also be used with either LCHS or PCHS.

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品久久久久久久久| 日韩一区二区电影| 亚洲精品网站在线观看| 一本久久综合亚洲鲁鲁五月天| 中文一区一区三区高中清不卡| 成人激情文学综合网| 中文字幕一区在线观看视频| caoporen国产精品视频| 欧美激情综合网| 91美女精品福利| 一区二区三区日韩欧美精品| 欧美裸体一区二区三区| 国产91丝袜在线观看| 日韩精品一二三四| 国产精品久久久久久久蜜臀| 欧美日韩国产系列| 99久久伊人网影院| 裸体在线国模精品偷拍| 一区二区三区毛片| 久久久精品黄色| 欧美福利一区二区| 99re8在线精品视频免费播放| 视频在线观看一区| 亚洲精品乱码久久久久久日本蜜臀| 日韩欧美一区二区免费| 91麻豆免费视频| 大胆欧美人体老妇| 麻豆精品视频在线观看视频| 亚洲乱码中文字幕综合| 久久久亚洲欧洲日产国码αv| 欧美裸体bbwbbwbbw| 色天天综合久久久久综合片| 成熟亚洲日本毛茸茸凸凹| 九九九精品视频| 麻豆视频一区二区| 亚洲亚洲精品在线观看| 亚洲女同女同女同女同女同69| 国产日韩av一区二区| 久久久久国产精品人| 亚洲精品在线观看视频| 日韩欧美中文字幕精品| 欧美日韩亚洲综合| 欧美精品丝袜中出| 欧美电影在线免费观看| 欧美日韩视频不卡| 欧美日韩美女一区二区| 欧美日韩一区精品| 在线观看91av| 日韩欧美电影在线| 精品国产电影一区二区| 久久新电视剧免费观看| 久久欧美一区二区| 欧美一级片免费看| 精品国免费一区二区三区| 精品粉嫩aⅴ一区二区三区四区 | 色狠狠色狠狠综合| 色欧美日韩亚洲| 欧美中文字幕一区| 欧美老年两性高潮| 精品成人一区二区三区| 久久久一区二区三区| 亚洲欧美偷拍另类a∨色屁股| 亚洲色大成网站www久久九九| 亚洲视频一二区| 日本美女一区二区| 国产中文一区二区三区| av在线不卡观看免费观看| 欧美另类久久久品| 国产欧美日韩一区二区三区在线观看| 国产精品进线69影院| 日韩黄色免费电影| www.亚洲人| 日韩欧美一区二区在线视频| 日本一区二区三区在线不卡| 亚洲一区二区av电影| 激情综合色综合久久| 91免费看视频| 国产亚洲一区二区三区| 夜夜揉揉日日人人青青一国产精品| 男人的j进女人的j一区| 成人小视频在线| 欧美一区二区三区影视| 最新日韩av在线| 精品一区二区三区在线播放| 在线观看91精品国产入口| 欧美激情一区二区三区| 免费在线观看一区二区三区| 色综合中文字幕国产 | 日韩成人一级大片| 91丨九色丨蝌蚪丨老版| 26uuu精品一区二区| 视频一区二区三区中文字幕| 99精品国产热久久91蜜凸| 国产午夜精品一区二区| 裸体在线国模精品偷拍| 欧美精品在线观看播放| 亚洲一区二区综合| 99免费精品视频| 国产精品国产a级| av亚洲精华国产精华| 国产精品免费观看视频| 国产aⅴ精品一区二区三区色成熟| 91精品国产综合久久小美女| 亚洲国产综合在线| 在线视频观看一区| 一区二区成人在线视频| 一本色道久久综合狠狠躁的推荐 | 欧美亚洲动漫精品| 亚洲一卡二卡三卡四卡无卡久久| 色综合咪咪久久| 亚洲精品免费电影| 欧美美女喷水视频| 免费av成人在线| 精品久久国产字幕高潮| 国模大尺度一区二区三区| 久久久九九九九| 99视频在线观看一区三区| 国产精品区一区二区三区| 99视频国产精品| 亚洲国产精品影院| 日韩免费在线观看| 国产二区国产一区在线观看| 中文一区一区三区高中清不卡| 99久久精品国产精品久久| 亚洲欧美另类小说视频| 欧美日韩免费一区二区三区视频| 丝袜美腿亚洲色图| 国产拍揄自揄精品视频麻豆| 99精品视频在线播放观看| 午夜欧美一区二区三区在线播放| 精品国产91久久久久久久妲己| 国产精品香蕉一区二区三区| 亚洲三级在线免费| 91精品欧美一区二区三区综合在 | 欧美体内she精视频| 久久97超碰色| 一个色在线综合| 久久久久久久久久久99999| 在线观看一区二区视频| 国产乱人伦偷精品视频不卡| 一区二区三区在线不卡| 久久综合久色欧美综合狠狠| 一本久久综合亚洲鲁鲁五月天| 麻豆传媒一区二区三区| 亚洲永久免费av| 国产精品美女视频| 欧美哺乳videos| 欧美色倩网站大全免费| k8久久久一区二区三区| 韩国毛片一区二区三区| 日韩黄色在线观看| 一区二区三区久久久| 国产精品护士白丝一区av| 欧美tickling网站挠脚心| 欧美日韩在线播放| 色视频一区二区| 91麻豆国产福利在线观看| 粉嫩欧美一区二区三区高清影视| 久久精品噜噜噜成人av农村| 图片区日韩欧美亚洲| 亚洲国产视频一区二区| 亚洲婷婷综合久久一本伊一区| 亚洲成人av电影在线| 久久男人中文字幕资源站| 在线区一区二视频| 色屁屁一区二区| 在线观看国产日韩| 色综合网站在线| 欧美最猛黑人xxxxx猛交| 欧美在线免费播放| 欧美调教femdomvk| 国产精品视频第一区| 亚洲国产精品麻豆| 久久精品理论片| 99r精品视频| 国产精品久久久久毛片软件| 亚洲欧美日韩人成在线播放| 日韩av一区二区三区四区| 国产成人三级在线观看| 在线免费观看不卡av| 久久尤物电影视频在线观看| 亚洲一区二区欧美| 国产高清在线精品| 欧美日韩高清一区二区| 久久久久久99精品| 婷婷中文字幕一区三区| 99综合电影在线视频| 日韩欧美中文字幕公布| 亚洲欧洲中文日韩久久av乱码| 久久成人免费网站| 欧美亚男人的天堂| 国产精品色在线| 国产精品亚洲成人| 日韩午夜小视频| 亚洲成av人在线观看| 97aⅴ精品视频一二三区| 国产欧美一区二区精品久导航| 免费不卡在线观看| 欧美精品欧美精品系列| 亚洲欧美日韩综合aⅴ视频|