NeKernel dev
Loading...
Searching...
No Matches
DriveMgr.h File Reference

Drive Manager. More...

Go to the source code of this file.

Classes

struct  Kernel::DriveTrait
 Media drive trait type. More...
struct  Kernel::DriveTrait::DrivePacket
 Packet drive (StorageKit compilant.). More...
class  Kernel::IMountpoint
 Mounted drives interface. More...

Namespaces

namespace  Kernel
 UPS inline definitions.
namespace  Kernel::Probe
namespace  Kernel::Detect

Macros

#define kDriveMaxCount   (4U)
#define kDriveSectorSz   (512U)
#define kDriveInvalidID   (-1)
#define kDriveNameLen   (32)
#define drv_sector_cnt(SIZE, SECTOR_SZ)
#define kDriveHiddenPrefix   '~'

Typedefs

typedef DriveTraitKernel::DriveTraitPtr
 ! drive as a device.

Enumerations

enum  {
  Kernel::kInvalidDrive = -1 , Kernel::kBlockDevice = 0xAD , Kernel::kMassStorageDrive = 0xDA , Kernel::kFloppyDrive = 0xCD ,
  Kernel::kOpticalDrive = 0xDC , Kernel::kTapeDrive = 0xD7 , Kernel::kReadOnlyDrive = 0x10 , Kernel::kEPMDrive = 0x11 ,
  Kernel::kVEPMDrive = 0x12 , Kernel::kMBRDrive = 0x13 , Kernel::kGPTDrive = 0x14 , Kernel::kUnformattedDrive = 0x15 ,
  Kernel::kStorageCount = 9
}

Functions

Void Kernel::Probe::io_detect_drive (DriveTrait &trait)
Void Kernel::io_drv_unimplemented (DriveTrait::DrivePacket *pckt)
 Unimplemented drive.
const CharKernel::io_drv_kind (Void)
 Gets the drive kind (ATA, SCSI, AHCI...).
DriveTrait Kernel::io_construct_blank_drive (Void)
 Makes a new drive.
Void Kernel::io_construct_main_drive (DriveTrait &trait)
 Fetches the main drive.
DriveTrait Kernel::io_construct_main_drive (Void)
 Fetches the main drive.
Void Kernel::Detect::io_detect_drive (DriveTrait &trait)
Void Kernel::io_drv_input (DriveTrait::DrivePacket pckt)
Void Kernel::io_drv_output (DriveTrait::DrivePacket pckt)

Detailed Description

Drive Manager.

Author
Amlal El Mahrouss (amlal.nosp@m.@nek.nosp@m.ernel.nosp@m..org)

Macro Definition Documentation

◆ drv_sector_cnt

#define drv_sector_cnt ( SIZE,
SECTOR_SZ )
Value:
(((SIZE) + (SECTOR_SZ)) / (SECTOR_SZ))

◆ kDriveHiddenPrefix

#define kDriveHiddenPrefix   '~'

◆ kDriveInvalidID

#define kDriveInvalidID   (-1)

◆ kDriveMaxCount

#define kDriveMaxCount   (4U)

◆ kDriveNameLen

#define kDriveNameLen   (32)

◆ kDriveSectorSz

#define kDriveSectorSz   (512U)