forked from dresende/node-arping
-
Notifications
You must be signed in to change notification settings - Fork 0
/
types.js
23 lines (18 loc) · 657 Bytes
/
types.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
exports.Ethernet = new Type(0x0001, "Ethernet", "mac", 6, ":", 16);
exports.IPv4 = new Type(0x0800, "IPv4", "address", 4, ".", 10);
function Type(id, family, key, len, sep, base) {
this.id = id;
this.family = family;
this.length = len;
this.separator = sep;
this.string_base = base;
this.interface_key = key;
}
Type.prototype.toNumber = function (address) {
address = address.split(this.separator);
let buffer = Buffer.alloc(this.length);
address.map((byte, index) => {
buffer[this.length - address.length + index] = parseInt(byte, this.string_base);
});
return buffer.readUIntBE(0, buffer.length);
};