Napoleonic Panda Machine

    blockdevice

    0.7.0 • Public • Published

    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 )

    Install

    npm i blockdevice

    DownloadsWeekly Downloads

    0

    Version

    0.7.0

    License

    MIT

    Unpacked Size

    20 kB

    Total Files

    7

    Last publish

    Collaborators

    • jhermsmeier