Cylinder-Head-Sector Address (CHS)
npm install chs[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.
[CHS addressing]: https://en.wikipedia.org/wiki/Cylinder-head-sector
``sh`
$ npm install --save chs
`js`
// Load module
var CHS = require( 'chs' )`js`
// Create a CHS address
var addr = new CHS( 5, 20, 8 )`js`
// Properties:
var c = addr.cylinder
var h = addr.head
var s = addr.sector`js`
// Convert to an LBA (Logical Block Address)
var lba = addr.toLBA( headsPerTrack, sectorsPerTrack )
var lba = addr.toLBA( 12, 32 )`js`
// Set it to an LBA
addr.setLBA( lba, headsPerTrack, sectorsPerTrack )
addr.setLBA( 3150, 16, 63 )`js`
// Get it as a buffer
var buf = addr.buffer
var buf = addr.toBuffer()`js``
// Set from buffer
addr.buffer = new Buffer([ 0xFE, 0xFF, 0xFF ])
addr.parse( new Buffer([ 0xFE, 0xFF, 0xFF ]) )
* CHS
* [new CHS([cylinder], [head], [sector])](#new_CHS_new)
* _instance_
* .cylinder : Number
* .head : Number
* .sector : Number
* .buffer : Buffer
* .setLBA(lba, hpt, spt) ⇒ CHS
* .getLBA(hpt, spt) ⇒ Number
* .toLBA(hpt, spt) ⇒ Number
* .clone() ⇒ CHS
* .copy(target) ⇒ CHS
* [.parse(buffer, [offset])](#CHS+parse) ⇒ CHS
* [.write(buffer, [offset])](#CHS+write) ⇒ Buffer
* .toBuffer() ⇒ Buffer
* .fromNumber(value) ⇒ CHS
* .toNumber() ⇒ Number
* _static_
* [.fromBuffer(buffer, [offset])](#CHS.fromBuffer) ⇒ CHS
* .fromLBA(lba, hpt, spt) ⇒ CHS
*
Params
- [cylinder] Number | Buffer = 1023
- [head] Number = 254
- [sector] Number = 63
*
Kind: instance property of CHS
*
Kind: instance property of CHS
*
Kind: instance property of CHS
*
Kind: instance property of CHS
*
Kind: instance method of CHS
Params
- lba Number - Logical Block Address
- hpt Number - Heads per Track
- spt Number - Sectors per Track
*
Kind: instance method of CHS
Returns: Number - lba
Params
- hpt Number - Heads per Track
- spt Number - Sectors per Track
*
CHS Number - lba - hpt Number - Heads per Track
- spt Number - Sectors per Track
*
Kind: instance method of CHS
*
Kind: instance method of CHS
Params
- target CHS
*
Kind: instance method of CHS
Params
- buffer Buffer
- [offset] Number = 0
*
Kind: instance method of CHS
Params
- buffer Buffer
- [offset] Number = 0
*
Kind: instance method of CHS
*
Kind: instance method of CHS
Params
- value Number
*
Kind: instance method of CHS
*
Kind: static method of CHS
Params
- buffer Buffer
- [offset] Number = 0
*
Kind: static method of CHS
Params
- lba Number - Logical Block Address
- hpt Number - Heads per Track
- spt Number - Sectors per Track
*