⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dos.c

📁 linux下开发的针对所有磁盘的数据恢复的源码
💻 C
📖 第 1 页 / 共 3 页
字号:
        snprintf(str, DESC_LEN,            "AT&T MS-DOS 3.x Logically Sectored FAT. (0x56)");        break;    case 0x5c:        snprintf(str, DESC_LEN, "Priam EDisk (0x5c)");        break;    case 0x70:        snprintf(str, DESC_LEN, "DiskSecure Multi-Boot (0x70)");        break;    case 0x74:        snprintf(str, DESC_LEN, "Scramdisk (0x74)");        break;    case 0x75:        snprintf(str, DESC_LEN, "IBM PC/IX (0x75)");        break;        /*case 0x77:           snprintf(str, DESC_LEN, "M2FS/M2CS (0x77)");           break; */    case 0x77:        snprintf(str, DESC_LEN, "VNDI (0x77)");        break;    case 0x78:        snprintf(str, DESC_LEN, "XOSL FS (0x78)");        break;    case 0x80:        snprintf(str, DESC_LEN, "MINIX <=v1.4a (0x80)");        break;    case 0x81:        snprintf(str, DESC_LEN, "MINIX >=v1.4b, Early Linux (0x81)");        break;        /*case 0x81:           snprintf(str, DESC_LEN, "Mitac Disk Manager (0x81)");           break; */    case 0x87:        snprintf(str, DESC_LEN, "NTFS Volume Set (0x87)");        break;    case 0x8a:        snprintf(str, DESC_LEN, "Linux Kernel (0x8a)");        break;    case 0x8b:        snprintf(str, DESC_LEN, "Legacy Fault Tolerant FAT32 (0x8b)");        break;    case 0x8c:        snprintf(str, DESC_LEN,            "Legacy Fault Tolerant FAT32 using BIOS extd INT 13h (0x8c)");        break;    case 0x8d:        snprintf(str, DESC_LEN,            "Free FDISK Hidden Primary DOS FAT12 (0x8d)");        break;    case 0x90:        snprintf(str, DESC_LEN,            "Free FDISK Hidden Primary DOS FAT16 (0x90)");        break;    case 0x91:        snprintf(str, DESC_LEN, "Free FDISK Hidden DOS Extended (0x91)");        break;    case 0x92:        snprintf(str, DESC_LEN,            "Free FDISK Hidden Primary DOS Large FAT16 (0x92)");        break;    case 0x94:        snprintf(str, DESC_LEN, "Amoeba Bad Block Table (0x94)");        break;    case 0x95:        snprintf(str, DESC_LEN, "MIT EXOPC (0x95)");        break;    case 0x97:        snprintf(str, DESC_LEN,            "Free FDISK Hidden Primary DOS FAT32 (0x97)");        break;    case 0x98:        snprintf(str, DESC_LEN,            "Free FDISK Hidden Primary DOS FAT32 LBA (0x98)");        break;        /*case 0x98:           snprintf(str, DESC_LEN, "Datalight ROM-DOS Super-Boot (0x98)");           break; */    case 0x99:        snprintf(str, DESC_LEN, "DCE376 Logical Drive (0x99)");        break;    case 0x9a:        snprintf(str, DESC_LEN,            "Free FDISK Hidden Primary DOS FAT16 LBA (0x9a)");        break;    case 0x9b:        snprintf(str, DESC_LEN,            "Free FDISK Hidden DOS Extended LBA (0x9b)");        break;    case 0xa3:        snprintf(str, DESC_LEN,            "HP Volume Expansion (SpeedStor Variant) (0xa3)");        break;    case 0xa4:        snprintf(str, DESC_LEN,            "HP Volume Expansion (SpeedStor Variant) (0xa4)");        break;    case 0xaa:        snprintf(str, DESC_LEN, "Olivetti Fat 12 1.44MB Service (0xaa)");        break;    case 0xae:        snprintf(str, DESC_LEN, "ShagOS Filesystem (0xae)");        break;    case 0xaf:        snprintf(str, DESC_LEN, "ShagOS swap (0xaf)");        break;    case 0xb0:        snprintf(str, DESC_LEN, "BootStar Dummy (0xb0)");        break;    case 0xb1:        snprintf(str, DESC_LEN,            "HP Volume Expansion (SpeedStor Variant) (0xb1)");        break;    case 0xb3:        snprintf(str, DESC_LEN,            "HP Volume Expansion (SpeedStor Variant) (0xb3)");        break;    case 0xb4:        snprintf(str, DESC_LEN,            "HP Volume Expansion (SpeedStor Variant) (0xb4)");        break;        /*case 0xb6:           snprintf(str, DESC_LEN, "HP Volume Expansion (SpeedStor Variant) (0xb6)");           break; */    case 0xb6:        snprintf(str, DESC_LEN,            "Corrupted Windows NT Mirror Set Master FAT16 (0xb6)");        break;    case 0xbb:        snprintf(str, DESC_LEN, "Boot Wizard Hidden (0xbb)");        break;        /*case 0xc0:           snprintf(str, DESC_LEN, "CTOS (0xc0)");           break; */        /*case 0xc0:           snprintf(str, DESC_LEN, "REAL/32 Secure Small (0xc0)");           break; */        /*case 0xc0:           snprintf(str, DESC_LEN, "NTFT (0xc0)");           break; */    case 0xc0:        snprintf(str, DESC_LEN, "DR-DOS Secured (0xc0)");        break;    case 0xc1:        snprintf(str, DESC_LEN, "DR-DOS Secured FAT12 (0xc1)");        break;    case 0xc4:        snprintf(str, DESC_LEN, "DR-DOS Secured FAT16 <32M (0xc4)");        break;    case 0xc5:        snprintf(str, DESC_LEN, "DR-DOS Secured Extended (0xc5)");        break;    case 0xc8:        snprintf(str, DESC_LEN, "Reserved for DR-DOS 8.0+ (0xc8)");        break;    case 0xc9:        snprintf(str, DESC_LEN, "Reserved for DR-DOS 8.0+ (0xc9)");        break;    case 0xca:        snprintf(str, DESC_LEN, "Reserved for DR-DOS 8.0+ (0xca)");        break;    case 0xcb:        snprintf(str, DESC_LEN, "DR-DOS 7.04+ Secured FAT32 CHS (0xcb)");        break;    case 0xcc:        snprintf(str, DESC_LEN, "DR-DOS 7.04+ Secured FAT32 LBA (0xcc)");        break;    case 0xcd:        snprintf(str, DESC_LEN, "CTOS Memdump? (0xcd)");        break;    case 0xce:        snprintf(str, DESC_LEN, "DR-DOS 7.04+ FAT16X LBA (0xce)");        break;    case 0xcf:        snprintf(str, DESC_LEN, "DR-DOS 7.04+ Secured EXT DOS LBA (0xcf)");        break;        /*case 0xd0:           snprintf(str, DESC_LEN, "REAL/32 Secure Big (0xd0)");           break; */    case 0xd0:        snprintf(str, DESC_LEN, "Multiuser DOS Secured (0xd0)");        break;    case 0xd1:        snprintf(str, DESC_LEN, "Old Multiuser DOS Secured FAT12 (0xd1)");        break;    case 0xd4:        snprintf(str, DESC_LEN,            "Old Multiuser DOS Secured FAT16 <32M (0xd4)");        break;    case 0xd5:        snprintf(str, DESC_LEN,            "Old Multiuser DOS Secured extended (0xd5)");        break;    case 0xd6:        snprintf(str, DESC_LEN,            "Old Multiuser DOS Secured FAT16 >=32M (0xd6)");        break;    case 0xd8:        snprintf(str, DESC_LEN, "CP/M-86 (0xd8)");        break;    case 0xda:        snprintf(str, DESC_LEN, "Non-FS Data (0xda)");        break;    case 0xdb:        snprintf(str, DESC_LEN,            "Digital Research CP/M, Concurrent CP/M, Concurrent DOS (0xdb)");        break;        /*case 0xdb:           snprintf(str, DESC_LEN, "Unisys CTOS (0xdb)");           break; */        /*case 0xdb:           snprintf(str, DESC_LEN, "KDG Telemetry SCPU boot (0xdb)");           break; */    case 0xdd:        snprintf(str, DESC_LEN, "Hidden CTOS Memdump?  (0xdd)");        break;    case 0xde:        snprintf(str, DESC_LEN, "Dell Utilities FAT (0xde)");        break;        /*case 0xdf:           snprintf(str, DESC_LEN, "DG/UX Virtual Disk Manager (0xdf)");           break; */        /*case 0xdf:           snprintf(str, DESC_LEN, "BootIt EMBRM (0xdf)");           break; */    case 0xe0:        snprintf(str, DESC_LEN,            "Reserved by STMicroelectronics for ST AVFS. (0xe0)");        break;    case 0xe1:        snprintf(str, DESC_LEN,            "DOS Access or SpeedStor 12-bit FAT Extended (0xe1)");        break;    case 0xe3:        snprintf(str, DESC_LEN, "DOS R/O or SpeedStor (0xe3)");        break;    case 0xe4:        snprintf(str, DESC_LEN,            "SpeedStor 16-bit FAT Extended <1024 cyl. (0xe4)");        break;    case 0xe5:        snprintf(str, DESC_LEN,            "Tandy MS-DOS with Logically Sectored FAT (0xe5)");        break;    case 0xe6:        snprintf(str, DESC_LEN, "Storage Dimensions SpeedStor (0xe6)");        break;    case 0xeb:        snprintf(str, DESC_LEN, "BeOS BFS (0xeb)");        break;    case 0xef:        snprintf(str, DESC_LEN, "EFI File System (0xef)");        break;    case 0xf0:        snprintf(str, DESC_LEN, "Linux/PA-RISC Boot Loader (0xf0)");        break;    case 0xf1:        snprintf(str, DESC_LEN, "Storage Dimensions SpeedStor (0xf1)");        break;    case 0xf2:        snprintf(str, DESC_LEN, "DOS 3.3+ Secondary (0xf2)");        break;    case 0xf4:        snprintf(str, DESC_LEN, "SpeedStor Large (0xf4)");        break;        /*case 0xf4:           snprintf(str, DESC_LEN, "Prologue Single-Volume (0xf4)");           break; */    case 0xf5:        snprintf(str, DESC_LEN, "Prologue Multi-Volume (0xf5)");        break;    case 0xf6:        snprintf(str, DESC_LEN, "Storage Dimensions SpeedStor (0xf6)");        break;    case 0xf9:        snprintf(str, DESC_LEN, "pCache (0xf9)");        break;    case 0xfa:        snprintf(str, DESC_LEN, "Bochs (0xfa)");        break;        /*case 0xfe:           snprintf(str, DESC_LEN, "SpeedStor >1024 cyl. (0xfe)");           break; */        /*case 0xfe:           snprintf(str, DESC_LEN, "LANstep (0xfe)");           break; */        /*case 0xfe:           snprintf(str, DESC_LEN, "IBM PS/2 IML (0xfe)");           break; */    case 0xfe:        snprintf(str, DESC_LEN,            "Windows NT Disk Administrator Hidden (0xfe)");        break;        /*case 0xfe:           snprintf(str, DESC_LEN, "Old Linux Logical Volume Manager (0xfe)");           break; */    case 0xff:        snprintf(str, DESC_LEN, "Xenix Bad Block Table (0xff)");        break;    default:        snprintf(str, DESC_LEN, "Unknown Type (0x%.2X)", ptype);        break;    }    return str;}/*  * Load an extended partition table into the structure in TSK_VS_INFO. * * sect_cur: The sector where the extended table is located * sect_ext_base: The sector of the primary extended table (this does *   not change for recursive calls) * table: a counter that identifies the table depth  *   (increases by 1 for each recursive call) *  * For the primary extended table, sect_cur == sect_ext_base  * * Return 1 on error and 0 on success * */static uint8_tdos_load_ext_table(TSK_VS_INFO * vs, TSK_DADDR_T sect_cur,    TSK_DADDR_T sect_ext_base, int table){    dos_sect sect;    int i;    char *table_str;    ssize_t cnt;    TSK_DADDR_T max_addr = (vs->img_info->size - vs->offset) / vs->block_size;  // max sector    if (tsk_verbose)        tsk_fprintf(stderr,            "dos_load_ext: Table Sector: %" PRIuDADDR            ", Primary Base Sector: %" PRIuDADDR "\n", sect_cur,            sect_ext_base);    /* Read the partition table sector */    cnt = tsk_vs_read_block(vs, sect_cur, (char *) &sect, sizeof(sect));    if (cnt != sizeof(sect)) {        if (cnt >= 0) {            tsk_error_reset();            tsk_errno = TSK_ERR_VS_READ;        }        snprintf(tsk_errstr2, TSK_ERRSTR_L,            "Extended DOS table sector %" PRIuDADDR, sect_cur);        return 1;    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -