Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

blockdevice

jhermsmeier7MIT0.7.0

Block Device

fs, device, block, storage, drive, physical

readme

Block Device

npm npm license npm downloads build status

Install via npm

$ npm install --save blockdevice

Usage Examples

API

new BlockDevice( options )

  • options: Object
    • fs: require( 'fs' ), optional; custom 'fs' instance
    • fd: Number, optional; file descriptor
    • path: String, optional if fd is given
    • mode: String, optional if fd is given
    • blockSize: Number, optional
    • size: Number, optional
    • headsPerTrack: Number, optional
    • sectorsPerTrack: Number, optional

BlockDevice.getPath( id )

  • id: Number

device.open( callback )

  • callback: function( err, fd )

device.close( callback )

  • callback: function( err )

device.detectBlockSize( size, step, limit, callback )

  • size: Number, initial block size to be checked
  • step: Number, block size increment
  • limit: Number, maximum block size to be checked
  • callback: function( err, blockSize )

device.detectSize( step, callback )

  • step: Number, size increment
  • callback: function( err, size )

device.partition( options )

  • options: Object
    • firstLBA: Number, first logical block of partition
    • lastLBA: Number, last logical block of partition

device.getLBA( cylinder, head, sector )

  • cylinder: Number
  • head: Number
  • sector: Number

device._read( offset, length, buffer, callback )

  • offset: Number
  • length: Number
  • buffer: Buffer, optional
  • callback: function( err, buffer, bytesRead )

INTERNAL. Used by .readBlocks().

device.readBlocks( fromLBA, toLBA, buffer, callback )

  • fromLBA: Number
  • toLBA: Number
  • buffer: Buffer, optional
  • callback: function( err, buffer, bytesRead )

device._write( offset, buffer, callback )

  • offset: Number
  • buffer: Buffer
  • callback: function( err, bytesWritten )

INTERNAL. Used by .writeBlocks().

device.writeBlocks( fromLBA, buffer, callback )

  • fromLBA: Number
  • buffer: Buffer
  • callback: function( err, bytesWritten )

new BlockDevice.Partition( device, options )

  • options: Object
    • firstLBA: Number, first logical block of partition
    • lastLBA: Number, last logical block of partition

get partition.blockSize -> Number

get partition.sectors -> Number, number of blocks in partition

get partition.size -> Number, size in bytes

partition.__OOB( lba )

  • lba: Number, logical block address

INTERNAL. Determines if a given LBA is out of bounds of the partition.

partition.readBlocks( from, to, buffer, callback )

  • from: Number
  • to: Number
  • buffer: Buffer
  • callback: function( err, buffer, bytesRead )

partition.writeBlocks( from, data, callback )

  • from: Number
  • data: Buffer
  • callback: function( err, bytesWritten )