Newer
Older
ubixfs-2 / DEVICE.PAS
@flameshadow flameshadow on 10 Jun 2005 1 KB UbixFS
unit Device;

interface

const SECTOR_SIZE = 512;

type
  PDevice = ^TDevice;

  readFunc = function(dev:PDevice; ptr:pointer; offset:int64; length:dword):integer;
  writeFunc = function(dev:PDevice; ptr:pointer; offset:int64; length:dword):integer;
  resetFunc = function:integer;
  initFunc = function(dev:PDevice):integer;
  ioctlFunc = procedure;
  stopFunc = procedure;
  startFunc = procedure;
  standbyFunc = procedure;

  TDevice = object
   public
    major   : integer;
    info    : pointer;
    sectors : dword;
    constructor init;
    function read(ptr:pointer; offset:int64; length:dword):integer; virtual;
    function write(ptr:pointer; offset:int64; length:dword):integer; virtual;
    destructor done; virtual;
  end; // TDevice; 
    
{  TDevice = packed record
    major   : integer;
    info    : pointer;
    sectors : dword;
    read    : readFunc;
    write   : writeFunc;
    reset   : resetFunc;
    init    : initFunc;
    ioctl   : ioctlFunc;
    stop    : stopFunc;
    standby : standbyFunc;
  end; }

implementation

constructor TDevice.init;
begin
  major := 0;
  info := NIL;
  sectors := 0;
end; // TDevice.init

function TDevice.read;
begin
  result := -1;
end; // TDevice.read

function TDevice.write;
begin
  result := -1;
end; // TDevice.write

destructor TDevice.done;
begin
  major := 0;
  info := NIL;
  sectors := 0;
end; // TDevice.done

end.