XgPhatVol


Data Structures

struct  _PHATSECTBUF
 Sector buffer structure. More...
struct  _PHATVOL
 Volume info structure. More...

Typedefs

typedef _PHATSECTBUF PHATSECTBUF
 Sector buffer structure.
typedef _PHATVOL PHATVOL
 Volume info structure.

Functions

struct __attribute__ ((packed)) _PHATVBR
 Operating system configuration type.
u_long PhatClusterSector (NUTFILE *nfp, u_long clust)
int PhatVolMount (NUTDEVICE *dev, NUTFILE *blkmnt, u_char part_type)
 Mount a PHAT volume.
int PhatVolUnmount (NUTDEVICE *dev)
 Unmount a PHAT volume.

Variables

 PHATVBR


Function Documentation

struct __attribute__ ( (packed)   ) 

Operating system configuration type.

Once created, this structure will never change if it points to another directory. Except if the entry is removed.

Jump instruction, contains E9xxxx or EBxx90.

OEM name and version.

Bytes per sector.

The BIOS parameter block starts here.

Sectors per cluster.

Number of reserved sectors.

This includes the boot sector, which is typically the only reserved sector with PHAT12/16.

Number of allocation tables.

Number of root directory entries.

Total number of sectors.

Media descriptor.

Number of sectors per allocation table.

If zero, then the value is stored in bios_tabsz_big.

Number of sectors per track.

Number of heads.

Number of hidden sectors.

With PHAT12 this field is two bytes only. We ignore it anyway.

Total number of sectors for huge drives.

Valid only if the value in bios_volsz is zero.

Number of sectors per allocation table for huge drives.

This and the following 6 fields are available with PHAT32 only.

Extended flags.

If bit 7 is set, then bits 0-3 specify the active allocation table. This feature is not yet supported. PHAT32 always updates the first two tables.

File system version.

First cluster of root directory.

File system info sector.

Boot backup sector.

Reserved for future expansion.

End of the BIOS parameter block.

Logical drive number.

With PHAT12 and PHAT16 this and the following fields are at offset 36.

Reserved field, used by Windows NT.

Extended signature.

If 0x28 or 0x29, than the following fields are valid.

Volume serial number.

Volume label.

File system.

int PhatVolMount ( NUTDEVICE dev,
NUTFILE blkmnt,
u_char  part_type 
)

Mount a PHAT volume.

This routine is called by the block device driver while mounting a partition. It reads and verifies the volume boot record, which is located in the first sector of a volume.

The routine may also initializes any caching mechanism. Thus, it must be called before any other read or write access.

Parameters:
dev Specifies the file system device.
blkmnt Handle of the block device's partition mount.
part_type Partition type:
  • PTYPE_FAT32
  • PTYPE_FAT32_LBA
  • PTYPE_FAT16
  • PTYPE_FAT16_BIG
  • PTYPE_FAT16_LBA
  • PTYPE_FAT12
Returns:
0 on success or -1 in case of an error.

int PhatVolUnmount ( NUTDEVICE dev  ) 

Unmount a PHAT volume.

This routine is called by the block device driver while unmounting a partition.

Parameters:
dev Specifies the file system device.
Returns:
0 on success or -1 in case of an error.


Generated on Tue Jan 23 21:12:31 2007 for BTnut System Software by doxygen 1.4.7