destruct
v0.0.1
Published
Easily unpack C Structs and binary buffers
Downloads
4
Readme
(De) Struct
Easily unpack C Structs and binary buffers
Based off the unpack
function in Perl, and inspired by prustat
by Brendan Gregg.
Install
Install locally to use as a module
npm install destruct
Usage
as a module
var destruct = require('destruct');
Known Limitations
This module does not handle all data types, it has only been tested on SmartOS, and was built for making it easier to extend the proc Node module by @dshaw.
Functions
destruct.unpack(fmt, buf, [pos])
Unpack a given binary buffer with the given format starting from pos
(default 0)
Example
var destruct = require('destruct'),
fs = require('fs'),
fmt = 'iiiiiiiiiiIiiiiSSa8a8a8Z16Z80iiIIaa3iiiiii',
file = '/proc/self/psinfo';
fs.readFile(file, function(err, buf) {
console.log(destruct.unpack(fmt, buf));
});
yields
[ 33554432,
3,
714,
18456,
714,
18456,
2011,
2011,
2300,
2300,
0,
14536,
9736,
0,
1572868,
11,
3,
<Buffer 64 41 f9 4f 3b fe 6c 1a>,
<Buffer 00 00 00 00 35 d5 31 0b>,
<Buffer 00 00 00 00 00 00 00 00>,
'node',
'node ./psinfo.js',
0,
2,
134511788,
134511800,
<Buffer 01>,
<Buffer 00 00 00>,
674523,
3,
0,
0,
29,
19167112 ]
License
MIT Licensed