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

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

?? dospartlibscsi.c

?? windriver 官方demo
?? C
?? 第 1 頁 / 共 5 頁
字號:
/* dosPartLibScsi.c - show & mount SCSI HDD MSDOS partitions *//*modification history--------------------01d,24feb99,jkf   Fixed bug in scsiCmdBuild failing for large disks.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 stdlib.h filename case for Unix.                  fixed cosmetics in sector and show routines.  01a,01sep97,jkf   adapted from dosPartLibAta.c.*//*DESCRIPTION:This library is provided by Wind River Systems CustomerSupport strictly as an educational example.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 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 here

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久亚洲蜜桃| 精品国产一区a| 亚洲卡通动漫在线| 中文字幕av一区二区三区免费看| 欧美va日韩va| 久久综合色一综合色88| 日韩精品一区二| 精品国产乱码久久久久久免费 | zzijzzij亚洲日本少妇熟睡| 国产精品自在欧美一区| 国产盗摄视频一区二区三区| 国产成人午夜片在线观看高清观看| 国产一区二区三区在线观看免费 | 亚洲一区国产视频| 性做久久久久久久免费看| 丝袜诱惑制服诱惑色一区在线观看| 亚洲午夜久久久久中文字幕久| 亚洲图片欧美一区| 日本不卡视频一二三区| 久久99国产精品免费| 国产一区二区三区| 成人avav在线| 欧美日韩黄色一区二区| 日韩一区二区在线观看| 久久久蜜桃精品| 国产精品久久久久久久久果冻传媒| 国产精品成人一区二区三区夜夜夜| 亚洲欧美色综合| 五月天国产精品| 国产在线看一区| 9久草视频在线视频精品| 色婷婷国产精品久久包臀| 91精品婷婷国产综合久久| 久久久久久综合| 亚洲六月丁香色婷婷综合久久 | 日韩精品视频网站| 久久国产精品免费| 97精品电影院| 欧美日本乱大交xxxxx| 2021国产精品久久精品| 亚洲男女一区二区三区| 青青草97国产精品免费观看无弹窗版 | 蜜桃av一区二区| 成人毛片在线观看| 欧美三级中文字幕在线观看| 久久精品人人做人人综合 | 日本欧洲一区二区| 福利一区福利二区| 精品视频资源站| 国产日韩欧美在线一区| 亚洲成人av在线电影| 国产一区二区久久| 欧美在线不卡视频| 国产欧美一区二区三区鸳鸯浴| 亚洲1区2区3区视频| 成人精品电影在线观看| 91精品国产综合久久久蜜臀粉嫩| 国产亚洲综合av| 日韩中文字幕av电影| 91丨porny丨国产| 久久一区二区三区四区| 亚洲va国产天堂va久久en| 成人美女视频在线观看18| 91精品国产色综合久久ai换脸| 国产精品国产精品国产专区不蜜| 免播放器亚洲一区| 在线观看区一区二| 久久久久久免费网| 日本成人超碰在线观看| 欧美综合一区二区| 国产精品国产三级国产| 国产乱码一区二区三区| 欧美一级一级性生活免费录像| 亚洲精品国产成人久久av盗摄| 成人亚洲一区二区一| 精品国产一区二区三区忘忧草| 亚洲国产精品一区二区久久 | 欧美怡红院视频| 欧美国产日韩亚洲一区| 激情文学综合插| 91精品国产aⅴ一区二区| 亚洲一区二区三区美女| 一道本成人在线| 国产精品久久久久天堂| 国产精品资源在线看| 91精品国产欧美日韩| 亚洲成人在线观看视频| 欧美一区二区久久| 国产欧美精品国产国产专区| 午夜视频在线观看一区二区| 99久久99久久精品国产片果冻| 欧美精品一区二| 久久精品国产第一区二区三区| 欧美三级视频在线播放| 亚洲裸体xxx| 白白色 亚洲乱淫| 中文字幕在线播放不卡一区| 成人免费看片app下载| 国产午夜精品在线观看| 国产精品一区久久久久| 日本一区二区视频在线| 国产成人精品在线看| 国产精品免费视频观看| 成人18视频在线播放| 成人免费视频在线观看| 9久草视频在线视频精品| 亚洲人成电影网站色mp4| 91蝌蚪国产九色| 一区二区三区av电影| 在线观看日韩电影| 视频在线观看91| 日韩美一区二区三区| 韩国v欧美v日本v亚洲v| 久久久精品欧美丰满| 国产成人免费视频网站| 中文字幕一区二区三区蜜月| 91视频.com| 夜夜揉揉日日人人青青一国产精品| 91国产成人在线| 午夜精品一区二区三区三上悠亚| 欧美一级黄色片| 91在线观看免费视频| 一区二区欧美国产| 欧美妇女性影城| 国产制服丝袜一区| 亚洲欧洲美洲综合色网| 欧美亚洲综合久久| 奇米影视一区二区三区| 久久久久久久国产精品影院| 99久久综合国产精品| 亚洲福利一区二区三区| 精品国产一二三区| 97se亚洲国产综合自在线观| 亚洲小说欧美激情另类| 日韩欧美激情在线| 成人国产精品免费| 夜夜爽夜夜爽精品视频| 精品久久久久久最新网址| 不卡一区二区三区四区| 亚洲成人免费影院| 国产欧美一区二区精品性色| 欧美在线小视频| 美女一区二区三区| 综合激情成人伊人| 日韩精品一区在线观看| www.性欧美| 青青草97国产精品免费观看无弹窗版| 国产日韩欧美精品一区| 91国产免费观看| 国产自产2019最新不卡| 夜色激情一区二区| 国产午夜三级一区二区三| 欧美视频第二页| 国产精品一区2区| 亚洲午夜在线视频| 国产人成亚洲第一网站在线播放| 在线观看亚洲精品视频| 国产在线播放一区二区三区| 亚洲国产日日夜夜| 国产精品理伦片| 日韩精品最新网址| 欧美性大战久久久久久久蜜臀| 国产精品一品视频| 免费成人在线影院| 亚洲在线一区二区三区| 国产精品久久久久久久久搜平片| 日韩精品综合一本久道在线视频| 色婷婷精品久久二区二区蜜臂av | 国产呦萝稀缺另类资源| 一区二区三区国产精品| 国产人伦精品一区二区| 欧美一级欧美一级在线播放| 色综合天天综合狠狠| 国产91露脸合集magnet| 免费人成黄页网站在线一区二区| 亚洲精品国产视频| 国产精品人妖ts系列视频| 精品免费日韩av| 7777精品伊人久久久大香线蕉超级流畅 | 一区二区三区在线免费视频| 精品成a人在线观看| 精品视频999| 在线观看日韩精品| 91网站最新地址| 成人黄色av网站在线| 国产精品一区二区视频| 麻豆精品视频在线观看免费 | 91视视频在线直接观看在线看网页在线看| 美女国产一区二区| 偷偷要91色婷婷| 亚洲主播在线播放| 亚洲色图一区二区| 中文字幕制服丝袜成人av| 欧美激情综合在线| 久久久久久久久99精品| 久久毛片高清国产| 精品福利在线导航| 精品国产区一区| 26uuu精品一区二区| 精品sm在线观看|