Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

Block_device Class Reference

This is an abstract block device, implemented by things like disk drivers. More...

#include <blockdev.h>

Inherited by Floppy.

Inheritance diagram for Block_device:

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual void init ()=0
virtual void deinit ()=0
bool read_page (unsigned block, void *data)
bool write_page (unsigned block, void *data)
virtual bool read_block (unsigned block, void *data)=0
virtual bool write_block (unsigned block, void *data)=0

Public Attributes

Size block_size
Size total_blocks
Size blocks_per_page

Detailed Description

This is an abstract block device, implemented by things like disk drivers.


Member Function Documentation

virtual void Block_device::deinit  )  [pure virtual]
 

Deinitialize the device, free data structures, etc.

Implemented in Floppy.

virtual void Block_device::init  )  [pure virtual]
 

Initialize the device, allocate any necessary data structures, etc.

Implemented in Floppy.

virtual bool Block_device::read_block unsigned  block,
void *  data
[pure virtual]
 

Read a block of data from disk into the provided buffer.

Implemented in Floppy.

bool Block_device::read_page unsigned  block,
void *  data
[inline]
 

Read a page of data from disk into the provided buffer, starting at the given block.

virtual bool Block_device::write_block unsigned  block,
void *  data
[pure virtual]
 

Write a block of data to disk from the provided buffer.

Implemented in Floppy.

bool Block_device::write_page unsigned  block,
void *  data
[inline]
 

Write a page of data to disk from the provided buffer, starting at the given block.


Member Data Documentation

Size Block_device::block_size
 

block size in bytes on this device

Size Block_device::blocks_per_page
 

blocks per page of memory

Size Block_device::total_blocks
 

total blocks on this device


The documentation for this class was generated from the following file:

Torsion Operating System, Copyright (C) 2000-2004 Dan Helfman