#include /* Definition of SYS_* constants */ #include #include #include namespace syscallNode { void nodeSyscall(const v8::FunctionCallbackInfo& args) { v8::Isolate* isolate = args.GetIsolate(); if (!args[0]->IsNumber()) { isolate->ThrowException(v8::Exception::TypeError( v8::String::NewFromUtf8(isolate, "Argument must be a number").ToLocalChecked())); return; } long argsValue = args[0].As()->Value(); syscall(argsValue); } void nodeReboot(const v8::FunctionCallbackInfo& args) { v8::Isolate* isolate = args.GetIsolate(); if (!args[0]->IsNumber()) { isolate->ThrowException(v8::Exception::TypeError( v8::String::NewFromUtf8(isolate, "Argument must be a number").ToLocalChecked())); return; } long argsValue = args[0].As()->Value(); reboot(argsValue); } void Initialize(v8::Local exports) { NODE_SET_METHOD(exports, "reboot", nodeReboot); NODE_SET_METHOD(exports, "syscall", nodeSyscall); } NODE_MODULE(syscall_api, Initialize) }