[BACK]Return to fdisk.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sbin / fdisk

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sbin/fdisk/fdisk.c between version 1.21 and 1.21.2.4

version 1.21, 1997/09/30 17:29:40 version 1.21.2.4, 1998/11/16 06:56:39
Line 127  unsigned char bootcode[] = {
Line 127  unsigned char bootcode[] = {
   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
 };  };
   
   static char reserved[] = "reserved";
   
 struct part_type {  struct part_type {
         int type;          int type;
         char *name;          char *name;
Line 136  struct part_type {
Line 138  struct part_type {
         {0x02, "XENIX / filesystem"},          {0x02, "XENIX / filesystem"},
         {0x03, "XENIX /usr filesystem"},          {0x03, "XENIX /usr filesystem"},
         {0x04, "Primary DOS with 16 bit FAT <32M"},          {0x04, "Primary DOS with 16 bit FAT <32M"},
         {0x05, "Extended DOS"},          {0x05, "Extended partition"},
         {0x06, "Primary 'big' DOS, 16-bit FAT (> 32MB)"},          {0x06, "Primary 'big' DOS, 16-bit FAT (> 32MB)"},
         {0x07, "OS/2 HPFS or NTFS or QNX2 or Advanced UNIX"},          {0x07, "OS/2 HPFS or NTFS or QNX2 or Advanced UNIX"},
         {0x08, "AIX filesystem"},          {0x08, "AIX filesystem or OS/2 (thru v1.3) or DELL multiple drives"
                  "or Commodore DOS or SplitDrive"},
         {0x09, "AIX boot partition or Coherent"},          {0x09, "AIX boot partition or Coherent"},
         {0x0A, "OS/2 Boot Manager or Coherent swap or OPUS"},          {0x0A, "OS/2 Boot Manager or Coherent swap or OPUS"},
         {0x0E, "DOS (16-bit FAT), CHS-mapped"},          {0x0b, "Primary DOS with 32 bit FAT"},
         {0x0F, "Ext. partition, CHS-mapped"},          {0x0c, "Primary DOS with 32 bit FAT - LBA"},
           {0x0d, "Type 7??? - LBA"},
           {0x0E, "DOS (16-bit FAT) - LBA"},
           {0x0F, "Ext. partition - LBA"},
         {0x10, "OPUS"},          {0x10, "OPUS"},
         {0x11, "OS/2 BM: hidden DOS 12-bit FAT"},          {0x11, "OS/2 BM: hidden DOS 12-bit FAT"},
         {0x12, "Compaq diagnostics"},          {0x12, "Compaq diagnostics"},
         {0x14, "OS/2 BM: hidden DOS 16-bit FAT <32M"},          {0x14, "OS/2 BM: hidden DOS 16-bit FAT <32M or Novell DOS 7.0 bug"},
         {0x16, "OS/2 BM: hidden DOS 16-bit FAT >=32M"},          {0x16, "OS/2 BM: hidden DOS 16-bit FAT >=32M"},
         {0x17, "OS/2 BM: hidden IFS"},          {0x17, "OS/2 BM: hidden IFS"},
         {0x18, "AST Windows swapfile"},          {0x18, "AST Windows swapfile"},
           {0x19, "Willowtech Photon coS"},
           {0x1e, "hidden FAT95"},
           {0x20, "Willowsoft OFS1"},
           {0x21, reserved},
           {0x23, reserved},
         {0x24, "NEC DOS"},          {0x24, "NEC DOS"},
           {0x26, reserved},
           {0x31, reserved},
           {0x33, reserved},
           {0x34, reserved},
           {0x36, reserved},
           {0x38, "Theos"},
         {0x3C, "PartitionMagic recovery"},          {0x3C, "PartitionMagic recovery"},
         {0x40, "VENIX 286"},          {0x40, "VENIX 286 or LynxOS"},
         {0x41, "Linux/MINIX (sharing disk with DRDOS)"},          {0x41, "Linux/MINIX (sharing disk with DRDOS) or Personal RISC boot"},
         {0x42, "SFS or Linux swap (sharing disk with DRDOS)"},          {0x42, "SFS or Linux swap (sharing disk with DRDOS)"},
         {0x43, "Linux native (sharing disk with DRDOS)"},          {0x43, "Linux native (sharing disk with DRDOS)"},
         {0x50, "DM (disk manager)"},          {0x50, "DM (disk manager)"},
         {0x51, "DM6 Aux1 (or Novell)"},          {0x51, "DM6 Aux1 (or Novell)"},
         {0x52, "CP/M or Microport SysV/AT"},          {0x52, "CP/M or Microport SysV/AT"},
         {0x53, "DM6 Aux3"},          {0x53, "DM6 Aux3"},
         {0x54, "DM6"},          {0x54, "DM6 DDO"},
         {0x55, "EZ-Drive (disk manager)"},          {0x55, "EZ-Drive (disk manager)"},
         {0x56, "Golden Bow (disk manager)"},          {0x56, "Golden Bow (disk manager)"},
         {0x5C, "Priam Edisk (disk manager)"},          {0x5C, "Priam Edisk (disk manager)"},
         {0x61, "SpeedStor"},          {0x61, "SpeedStor"},
         {0x63, "GNU HURD or Mach or Sys V/386 (such as ISC UNIX)"},          {0x63, "GNU HURD or Mach or Sys V/386 (such as ISC UNIX) or MtXinu"},
         {0x64, "Novell Netware 2.xx"},          {0x64, "Novell Netware 2.xx or Speedstore"},
         {0x65, "Novell Netware 3.xx"},          {0x65, "Novell Netware 3.xx"},
           {0x66, "Novell 386 Netware"},
           {0x67, "Novell"},
           {0x68, "Novell"},
           {0x69, "Novell"},
         {0x70, "DiskSecure Multi-Boot"},          {0x70, "DiskSecure Multi-Boot"},
           {0x71, reserved},
           {0x73, reserved},
           {0x74, reserved},
         {0x75, "PC/IX"},          {0x75, "PC/IX"},
           {0x76, reserved},
         {0x77, "QNX4.x"},          {0x77, "QNX4.x"},
         {0x78, "QNX4.x 2nd part"},          {0x78, "QNX4.x 2nd part"},
         {0x79, "QNX4.x 3rd part"},          {0x79, "QNX4.x 3rd part"},
         {0x80, "MINIX until 1.4a"},          {0x80, "MINIX until 1.4a"},
         {0x81, "MINIX since 1.4b, early Linux, Mitac dmgr"},          {0x81, "MINIX since 1.4b, early Linux, Mitac dmgr"},
         {0x82, "Linux swap"},          {0x82, "Linux swap or Prime or Solaris"},
         {0x83, "Linux native"},          {0x83, "Linux native"},
         {0x84, "OS/2 hidden C: drive"},          {0x84, "OS/2 hidden C: drive"},
         {0x85, "Linux extended"},          {0x85, "Linux extended"},
         {0x86, "NTFS volume set??"},          {0x86, "NT FAT volume set"},
         {0x87, "NTFS volume set??"},          {0x87, "NTFS volume set or HPFS mirrored"},
         {0x93, "Amoeba filesystem"},          {0x93, "Amoeba filesystem"},
         {0x94, "Amoeba bad block table"},          {0x94, "Amoeba bad block table"},
           {0x99, "Mylex EISA SCSI"},
           {0x9f, "BSDI?"},
         {0xA0, "IBM Thinkpad hibernation"},          {0xA0, "IBM Thinkpad hibernation"},
         {0xA5, "NetBSD or FreeBSD or 386BSD"},          {0xa1, reserved},
           {0xa3, reserved},
           {0xa4, reserved},
           {0xA5, "FreeBSD or 386BSD or old NetBSD"},
         {0xA6, "OpenBSD"},          {0xA6, "OpenBSD"},
         {0xA7, "NeXTSTEP 486"},          {0xA7, "NeXTSTEP 486"},
           {0xa9, "NetBSD"},
           {0xb1, reserved},
           {0xb3, reserved},
           {0xb4, reserved},
           {0xb6, reserved},
         {0xB7, "BSDI BSD/386 filesystem"},          {0xB7, "BSDI BSD/386 filesystem"},
         {0xB8, "BSDI BSD/386 swap"},          {0xB8, "BSDI BSD/386 swap"},
           {0xc0, "CTOS"},
         {0xC1, "DRDOS/sec (FAT-12)"},          {0xC1, "DRDOS/sec (FAT-12)"},
         {0xC4, "DRDOS/sec (FAT-16, < 32M)"},          {0xC4, "DRDOS/sec (FAT-16, < 32M)"},
         {0xC6, "DRDOS/sec (FAT-16, >= 32M)"},          {0xC6, "DRDOS/sec (FAT-16, >= 32M)"},
         {0xC7, "Syrinx"},          {0xC7, "Syrinx (Cyrnix?) or HPFS disabled"},
           {0xd8, "CP/M 86"},
         {0xDB, "CP/M or Concurrent CP/M or Concurrent DOS or CTOS"},          {0xDB, "CP/M or Concurrent CP/M or Concurrent DOS or CTOS"},
         {0xE1, "DOS access or SpeedStor 12-bit FAT extended partition"},          {0xE1, "DOS access or SpeedStor 12-bit FAT extended partition"},
         {0xE3, "DOS R/O or SpeedStor"},          {0xE3, "DOS R/O or SpeedStor or Storage Dimensions"},
         {0xE4, "SpeedStor 16-bit FAT extended partition < 1024 cyl."},          {0xE4, "SpeedStor 16-bit FAT extended partition < 1024 cyl."},
         {0xF1, "SpeedStor"},          {0xe5, reserved},
           {0xe6, reserved},
           {0xF1, "SpeedStor or Storage Dimensions"},
         {0xF2, "DOS 3.3+ Secondary"},          {0xF2, "DOS 3.3+ Secondary"},
         {0xF4, "SpeedStor large partition"},          {0xf3, reserved},
         {0xFE, "SpeedStor >1024 cyl. or LANstep"},          {0xF4, "SpeedStor large partition or Storage Dimensions"},
           {0xf6, reserved},
           {0xFE, "SpeedStor >1024 cyl. or LANstep or IBM PS/2 IML"},
         {0xFF, "Xenix Bad Block Table"},          {0xFF, "Xenix Bad Block Table"},
 };  };
   
Line 513  init_sector0(start)
Line 554  init_sector0(start)
         dos(getlong(&partp->dp_start) + getlong(&partp->dp_size) - 1,          dos(getlong(&partp->dp_start) + getlong(&partp->dp_size) - 1,
             &partp->dp_ecyl, &partp->dp_ehd, &partp->dp_esect);              &partp->dp_ecyl, &partp->dp_ehd, &partp->dp_esect);
   
         printf ("DOS partition table initialized.\n");          if (!sh_flag)
                   printf ("DOS partition table initialized.\n");
 }  }
   
 /* Prerequisite: the disklabel parameters and master boot record must  /* Prerequisite: the disklabel parameters and master boot record must
Line 545  intuit_translated_geometry()
Line 587  intuit_translated_geometry()
                 for (j = 0; j < 8; j++) {                  for (j = 0; j < 8; j++) {
                         if (get_mapping(j, &c2, &h2, &s2, &a2) < 0)                          if (get_mapping(j, &c2, &h2, &s2, &a2) < 0)
                                 continue;                                  continue;
                         num = (quad_t)h1*(a2-s2) - h2*(a1-s1);                          num = (quad_t)h1*(a2-s2) - (quad_t)h2*(a1-s1);
                         denom = (quad_t)c2*(a1-s1) - c1*(a2-s2);                          denom = (quad_t)c2*(a1-s1) - (quad_t)c1*(a2-s2);
                         if (denom != 0 && num % denom == 0) {                          if (denom != 0 && num % denom == 0) {
                                 heads = num / denom;                                  heads = num / denom;
                                 break;                                  break;
Line 575  intuit_translated_geometry()
Line 617  intuit_translated_geometry()
                 return;                  return;
   
         /* Estimate the number of cylinders. */          /* Estimate the number of cylinders. */
         cylinders = dos_cylinders * dos_cylindersectors / heads / sectors;          cylinders = disklabel.d_secperunit / heads / sectors;
   
         /* Now verify consistency with each of the partition table entries.          /* Now verify consistency with each of the partition table entries.
          * Be willing to shove cylinders up a little bit to make things work,           * Be willing to shove cylinders up a little bit to make things work,

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.21.2.4

CVSweb <webmaster@jp.NetBSD.org>