diff --git a/README.adoc b/README.adoc index ca7f0f5..3f5c3e8 100644 --- a/README.adoc +++ b/README.adoc @@ -13188,8 +13188,10 @@ ERROR: package host-nodejs installs executables without proper RPATH Examples: -* process +* `process` ** link:rootfs_overlay/lkmc/nodejs/command_line_arguments.js[] +* `fs` +** link:rootfs_overlay/lkmc/nodejs/file_write_read.js[] === Userland content bibliography diff --git a/rootfs_overlay/lkmc/nodejs/command_line_arguments.js b/rootfs_overlay/lkmc/nodejs/command_line_arguments.js index da9651e..6d51fbd 100755 --- a/rootfs_overlay/lkmc/nodejs/command_line_arguments.js +++ b/rootfs_overlay/lkmc/nodejs/command_line_arguments.js @@ -1,5 +1,7 @@ #!/usr/bin/env node +// https://cirosantilli.com/linux-kernel-module-cheat#node-js + for (const arg of process.argv) { console.log(arg); } diff --git a/rootfs_overlay/lkmc/nodejs/file_write_read.js b/rootfs_overlay/lkmc/nodejs/file_write_read.js new file mode 100755 index 0000000..98a222b --- /dev/null +++ b/rootfs_overlay/lkmc/nodejs/file_write_read.js @@ -0,0 +1,20 @@ +#!/usr/bin/env node + +// https://cirosantilli.com/linux-kernel-module-cheat#node-js + +const assert = require('assert'); +const fs = require('fs'); +const path = require('path'); + +const file_path = path.basename(__filename) + '.tmp'; +const data = 'asdf\nqwer\n'; +const encoding = 'utf8'; + +// Write to file. +// +// Error handling through exceptions: +// https://stackoverflow.com/questions/15543235/checking-if-writefilesync-successfully-wrote-the-file +fs.writeFileSync(file_path, data, encoding); + +// Read from file. +assert.strictEqual(fs.readFileSync(file_path, encoding), data); diff --git a/userland/c/file_write_read.c b/userland/c/file_write_read.c index 6c1ae4e..08560f2 100644 --- a/userland/c/file_write_read.c +++ b/userland/c/file_write_read.c @@ -108,10 +108,10 @@ int file_write(char *path, char *write_string) { int main(void) { char *path = LKMC_TMP_FILE; - char *input = "asdf\nqwer\n"; + char *data = "asdf\nqwer\n"; /* Write entire string to file at once. */ - if (file_write(path, input) == -1) { + if (file_write(path, data) == -1) { LKMC_IO_ERROR("file_write", path); } @@ -121,7 +121,7 @@ int main(void) { if (output == NULL) { LKMC_IO_ERROR("file_read", path); } - assert(strcmp(input, output) == 0); + assert(strcmp(data, output) == 0); free(output); } @@ -131,7 +131,7 @@ int main(void) { if (size == -1) { LKMC_IO_ERROR("file_size", path); } - assert((size_t)size == strlen(input)); + assert((size_t)size == strlen(data)); } return EXIT_SUCCESS;