Giter Site home page Giter Site logo

node-chs's Introduction

CHS (Cylinder-Head-Sector) Address

npm npm license npm downloads build status

CHS addressing is an early method for giving addresses to each physical block of data on a hard disk drive, identifying individual sectors on a disk by their position in a track, where the track is determined by the head and cylinder numbers.

Install via npm

$ npm install --save chs

Usage

// Load module
var CHS = require( 'chs' )
// Create a CHS address
var addr = new CHS( 5, 20, 8 )
// Properties:
var c = addr.cylinder
var h = addr.head
var s = addr.sector
// Convert to an LBA (Logical Block Address)
var lba = addr.toLBA( headsPerTrack, sectorsPerTrack )
var lba = addr.toLBA( 12, 32 )
// Set it to an LBA
addr.setLBA( lba, headsPerTrack, sectorsPerTrack )
addr.setLBA( 3150, 16, 63 )
// Get it as a buffer
var buf = addr.buffer
var buf = addr.toBuffer()
// Set from buffer
addr.buffer = new Buffer([ 0xFE, 0xFF, 0xFF ])
addr.parse( new Buffer([ 0xFE, 0xFF, 0xFF ]) )

API Reference

CHS

Kind: global class


new CHS([cylinder], [head], [sector])

Cylinder-Head-Sector Address

Params

  • [cylinder] Number | Buffer = 1023
  • [head] Number = 254
  • [sector] Number = 63

chS.cylinder : Number

Cylinder

Kind: instance property of CHS


chS.head : Number

Head

Kind: instance property of CHS


chS.sector : Number

Sector

Kind: instance property of CHS


chS.buffer : Buffer

Get/set values from/to a Buffer

Kind: instance property of CHS


chS.setLBA(lba, hpt, spt) ⇒ CHS

Set CHS to a Logical Block Address (LBA)

Kind: instance method of CHS
Params

  • lba Number - Logical Block Address
  • hpt Number - Heads per Track
  • spt Number - Sectors per Track

chS.getLBA(hpt, spt) ⇒ Number

Get the Logical Block Address (LBA) corresponding to the given disk geometry

Kind: instance method of CHS
Returns: Number - lba
Params

  • hpt Number - Heads per Track
  • spt Number - Sectors per Track

chS.toLBA(hpt, spt) ⇒ Number

Kind: instance method of CHS
Returns: Number - lba
See: #getLBA()
Params

  • hpt Number - Heads per Track
  • spt Number - Sectors per Track

chS.clone() ⇒ CHS

Clone the CHS Address

Kind: instance method of CHS


chS.copy(target) ⇒ CHS

Copy this address to a target address

Kind: instance method of CHS
Params


chS.parse(buffer, [offset]) ⇒ CHS

Parse a given Buffer

Kind: instance method of CHS
Params

  • buffer Buffer
  • [offset] Number = 0

chS.write(buffer, [offset]) ⇒ Buffer

Write the CHS address to a given buffer

Kind: instance method of CHS
Params

  • buffer Buffer
  • [offset] Number = 0

chS.toBuffer() ⇒ Buffer

Create a Buffer representation of the CHS Address

Kind: instance method of CHS


chS.fromNumber(value) ⇒ CHS

Set the CHS address from its 24bit integer value

Kind: instance method of CHS
Params

  • value Number

chS.toNumber() ⇒ Number

Get the 24bit integer value of the CHS address

Kind: instance method of CHS


CHS.fromBuffer(buffer, [offset]) ⇒ CHS

Create a CHS Address from a given buffer

Kind: static method of CHS
Params

  • buffer Buffer
  • [offset] Number = 0

CHS.fromLBA(lba, hpt, spt) ⇒ CHS

Create a CHS Address from a Logical Block Address (LBA)

Kind: static method of CHS
Params

  • lba Number - Logical Block Address
  • hpt Number - Heads per Track
  • spt Number - Sectors per Track

node-chs's People

Contributors

jhermsmeier avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

mcanthony mikalv

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.