From 39fa19b284eaf1e3e36d6ef372275cb16cebd1cb Mon Sep 17 00:00:00 2001 From: Bryan Roe Date: Thu, 16 Jun 2022 18:43:16 -0700 Subject: [PATCH] Added Linux PCI bus enumeration support --- microscript/ILibDuktape_Polyfills.c | 2 +- modules/identifiers.js | 43 +++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/microscript/ILibDuktape_Polyfills.c b/microscript/ILibDuktape_Polyfills.c index ae3baac..8f18f22 100644 --- a/microscript/ILibDuktape_Polyfills.c +++ b/microscript/ILibDuktape_Polyfills.c @@ -2500,7 +2500,7 @@ void ILibDuktape_Polyfills_JS_Init(duk_context *ctx) duk_peval_string_noresult(ctx, "addCompressedModule('file-search', Buffer.from('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', 'base64'));"); // identifer: Refer to modules/identifers.js - duk_peval_string_noresult(ctx, "addCompressedModule('identifiers', Buffer.from('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', 'base64'), '2022-06-16T15:30:09.000-07:00');"); + duk_peval_string_noresult(ctx, "addCompressedModule('identifiers', Buffer.from('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', 'base64'), '2022-06-16T18:38:05.000-07:00');"); // zip-reader, refer to modules/zip-reader.js duk_peval_string_noresult(ctx, "addCompressedModule('zip-reader', Buffer.from('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', 'base64'), '2022-02-01T20:15:31.000-08:00');"); diff --git a/modules/identifiers.js b/modules/identifiers.js index ffe771d..50c8a7e 100644 --- a/modules/identifiers.js +++ b/modules/identifiers.js @@ -252,6 +252,49 @@ function linux_identifiers() {} } + var pcidevices = require('lib-finder').findBinary('lspci'); + if (pcidevices != null) + { + var child = require('child_process').execFile('/bin/sh', ['sh']); + child.stdout.str = ''; child.stdout.on('data', function (chunk) { this.str += chunk.toString(); }); + child.stderr.str = ''; child.stderr.on('data', function (chunk) { this.str += chunk.toString(); }); + child.stdin.write(pcidevices + " -m | tr '\\n' '`' | "); + child.stdin.write(" awk '"); + child.stdin.write('{'); + child.stdin.write(' printf("[");'); + child.stdin.write(' comma="";'); + child.stdin.write(' alen=split($0, lines, "`");'); + child.stdin.write(' for(a=1;a