Linux web-conference.aiou.edu.pk 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64
Apache/2.4.41 (Ubuntu)
: 172.16.50.247 | : 3.145.79.236
Cant Read [ /etc/named.conf ]
7.4.3-4ubuntu2.28
appadmin
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
usr /
include /
nodejs /
src /
[ HOME SHELL ]
Name
Size
Permission
Action
aliased_buffer.h
6.42
KB
-rw-r--r--
async_wrap-inl.h
3.33
KB
-rw-r--r--
async_wrap.h
9.16
KB
-rw-r--r--
base64.h
5.82
KB
-rw-r--r--
base_object-inl.h
4.02
KB
-rw-r--r--
base_object.h
4.43
KB
-rw-r--r--
connect_wrap.h
617
B
-rw-r--r--
connection_wrap.h
699
B
-rw-r--r--
debug_utils.h
4.29
KB
-rw-r--r--
env-inl.h
30.64
KB
-rw-r--r--
env.h
46.48
KB
-rw-r--r--
handle_wrap.h
3.91
KB
-rw-r--r--
inspector_agent.h
4.13
KB
-rw-r--r--
inspector_io.h
2.63
KB
-rw-r--r--
inspector_socket.h
1.46
KB
-rw-r--r--
inspector_socket_server.h
3.21
KB
-rw-r--r--
js_stream.h
1.58
KB
-rw-r--r--
memory_tracker-inl.h
10.83
KB
-rw-r--r--
memory_tracker.h
9.96
KB
-rw-r--r--
module_wrap.h
3.07
KB
-rw-r--r--
node.h
35.16
KB
-rw-r--r--
node_api.h
35.44
KB
-rw-r--r--
node_api_types.h
4.16
KB
-rw-r--r--
node_buffer.h
3.4
KB
-rw-r--r--
node_code_cache.h
432
B
-rw-r--r--
node_constants.h
3.11
KB
-rw-r--r--
node_context_data.h
1.14
KB
-rw-r--r--
node_contextify.h
4.81
KB
-rw-r--r--
node_counters.h
2.37
KB
-rw-r--r--
node_crypto.h
23.92
KB
-rw-r--r--
node_crypto_bio.h
5.44
KB
-rw-r--r--
node_crypto_clienthello-inl.h
2.62
KB
-rw-r--r--
node_crypto_clienthello.h
4
KB
-rw-r--r--
node_crypto_groups.h
23.12
KB
-rw-r--r--
node_dtrace.h
2.91
KB
-rw-r--r--
node_errors.h
6.06
KB
-rw-r--r--
node_file.h
10.16
KB
-rw-r--r--
node_http2.h
47.76
KB
-rw-r--r--
node_http2_state.h
4.72
KB
-rw-r--r--
node_i18n.h
2.4
KB
-rw-r--r--
node_internals.h
28.47
KB
-rw-r--r--
node_javascript.h
1.72
KB
-rw-r--r--
node_messaging.h
8.38
KB
-rw-r--r--
node_mutex.h
4.42
KB
-rw-r--r--
node_object_wrap.h
3.7
KB
-rw-r--r--
node_options-inl.h
14.78
KB
-rw-r--r--
node_options.h
12.25
KB
-rw-r--r--
node_perf.h
3.64
KB
-rw-r--r--
node_perf_common.h
3
KB
-rw-r--r--
node_persistent.h
936
B
-rw-r--r--
node_platform.h
5.14
KB
-rw-r--r--
node_revert.h
2.21
KB
-rw-r--r--
node_root_certs.h
223.29
KB
-rw-r--r--
node_stat_watcher.h
2.15
KB
-rw-r--r--
node_url.h
6.16
KB
-rw-r--r--
node_version.h
3.79
KB
-rw-r--r--
node_watchdog.h
3.03
KB
-rw-r--r--
node_win32_etw_provider-inl.h
11.67
KB
-rw-r--r--
node_win32_etw_provider.h
3.67
KB
-rw-r--r--
node_win32_perfctr_provider.h
2.14
KB
-rw-r--r--
node_worker.h
2.88
KB
-rw-r--r--
pipe_wrap.h
2.62
KB
-rw-r--r--
req_wrap-inl.h
5.44
KB
-rw-r--r--
req_wrap.h
1.87
KB
-rw-r--r--
sharedarraybuffer_metadata.h
2.34
KB
-rw-r--r--
spawn_sync.h
6.82
KB
-rw-r--r--
stream_base-inl.h
14.08
KB
-rw-r--r--
stream_base.h
13.46
KB
-rw-r--r--
stream_pipe.h
2
KB
-rw-r--r--
stream_wrap.h
4.03
KB
-rw-r--r--
string_bytes.h
5.14
KB
-rw-r--r--
string_decoder-inl.h
876
B
-rw-r--r--
string_decoder.h
1.5
KB
-rw-r--r--
string_search.h
20.53
KB
-rw-r--r--
tcp_wrap.h
3.59
KB
-rw-r--r--
tls_wrap.h
6.61
KB
-rw-r--r--
tty_wrap.h
2.22
KB
-rw-r--r--
udp_wrap.h
4.12
KB
-rw-r--r--
util-inl.h
14.06
KB
-rw-r--r--
util.h
15.9
KB
-rw-r--r--
v8abbr.h
5.03
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : node_internals.h
// Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a // copy of this software and associated documentation files (the // "Software"), to deal in the Software without restriction, including // without limitation the rights to use, copy, modify, merge, publish, // distribute, sublicense, and/or sell copies of the Software, and to permit // persons to whom the Software is furnished to do so, subject to the // following conditions: // // The above copyright notice and this permission notice shall be included // in all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE // USE OR OTHER DEALINGS IN THE SOFTWARE. #ifndef SRC_NODE_INTERNALS_H_ #define SRC_NODE_INTERNALS_H_ #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS #include "node.h" #include "node_mutex.h" #include "node_persistent.h" #include "util-inl.h" #include "env-inl.h" #include "uv.h" #include "v8.h" #include "tracing/trace_event.h" #include "node_perf_common.h" #include "node_api.h" #include <stdint.h> #include <stdlib.h> #include <string> #include <vector> // Custom constants used by both node_constants.cc and node_zlib.cc #define Z_MIN_WINDOWBITS 8 #define Z_MAX_WINDOWBITS 15 #define Z_DEFAULT_WINDOWBITS 15 // Fewer than 64 bytes per chunk is not recommended. // Technically it could work with as few as 8, but even 64 bytes // is low. Usually a MB or more is best. #define Z_MIN_CHUNK 64 #define Z_MAX_CHUNK std::numeric_limits<double>::infinity() #define Z_DEFAULT_CHUNK (16 * 1024) #define Z_MIN_MEMLEVEL 1 #define Z_MAX_MEMLEVEL 9 #define Z_DEFAULT_MEMLEVEL 8 #define Z_MIN_LEVEL -1 #define Z_MAX_LEVEL 9 #define Z_DEFAULT_LEVEL Z_DEFAULT_COMPRESSION enum { NM_F_BUILTIN = 1 << 0, NM_F_LINKED = 1 << 1, NM_F_INTERNAL = 1 << 2, }; struct sockaddr; // Variation on NODE_DEFINE_CONSTANT that sets a String value. #define NODE_DEFINE_STRING_CONSTANT(target, name, constant) \ do { \ v8::Isolate* isolate = target->GetIsolate(); \ v8::Local<v8::String> constant_name = \ v8::String::NewFromUtf8(isolate, name, v8::NewStringType::kNormal) \ .ToLocalChecked(); \ v8::Local<v8::String> constant_value = \ v8::String::NewFromUtf8(isolate, constant, v8::NewStringType::kNormal)\ .ToLocalChecked(); \ v8::PropertyAttribute constant_attributes = \ static_cast<v8::PropertyAttribute>(v8::ReadOnly | v8::DontDelete); \ target->DefineOwnProperty(isolate->GetCurrentContext(), \ constant_name, \ constant_value, \ constant_attributes).FromJust(); \ } while (0) #if HAVE_OPENSSL #define NODE_BUILTIN_OPENSSL_MODULES(V) V(crypto) V(tls_wrap) #else #define NODE_BUILTIN_OPENSSL_MODULES(V) #endif #if NODE_HAVE_I18N_SUPPORT #define NODE_BUILTIN_ICU_MODULES(V) V(icu) #else #define NODE_BUILTIN_ICU_MODULES(V) #endif // A list of built-in modules. In order to do module registration // in node::Init(), need to add built-in modules in the following list. // Then in node::RegisterBuiltinModules(), it calls modules' registration // function. This helps the built-in modules are loaded properly when // node is built as static library. No need to depend on the // __attribute__((constructor)) like mechanism in GCC. #define NODE_BUILTIN_STANDARD_MODULES(V) \ V(async_wrap) \ V(buffer) \ V(cares_wrap) \ V(config) \ V(contextify) \ V(domain) \ V(fs) \ V(fs_event_wrap) \ V(heap_utils) \ V(http2) \ V(http_parser) \ V(inspector) \ V(js_stream) \ V(messaging) \ V(module_wrap) \ V(options) \ V(os) \ V(performance) \ V(pipe_wrap) \ V(process_wrap) \ V(serdes) \ V(signal_wrap) \ V(spawn_sync) \ V(stream_pipe) \ V(stream_wrap) \ V(string_decoder) \ V(symbols) \ V(tcp_wrap) \ V(timer_wrap) \ V(trace_events) \ V(tty_wrap) \ V(types) \ V(udp_wrap) \ V(url) \ V(util) \ V(uv) \ V(v8) \ V(worker) \ V(zlib) #define NODE_BUILTIN_MODULES(V) \ NODE_BUILTIN_STANDARD_MODULES(V) \ NODE_BUILTIN_OPENSSL_MODULES(V) \ NODE_BUILTIN_ICU_MODULES(V) #define NODE_MODULE_CONTEXT_AWARE_CPP(modname, regfunc, priv, flags) \ static node::node_module _module = { \ NODE_MODULE_VERSION, \ flags, \ nullptr, \ __FILE__, \ nullptr, \ (node::addon_context_register_func) (regfunc), \ NODE_STRINGIFY(modname), \ priv, \ nullptr \ }; \ void _register_ ## modname() { \ node_module_register(&_module); \ } #define NODE_BUILTIN_MODULE_CONTEXT_AWARE(modname, regfunc) \ NODE_MODULE_CONTEXT_AWARE_CPP(modname, regfunc, nullptr, NM_F_BUILTIN) namespace node { extern Mutex process_mutex; extern Mutex environ_mutex; // Tells whether it is safe to call v8::Isolate::GetCurrent(). extern bool v8_initialized; extern Mutex per_process_opts_mutex; extern std::shared_ptr<PerProcessOptions> per_process_opts; // Forward declaration class Environment; // If persistent.IsWeak() == false, then do not call persistent.Reset() // while the returned Local<T> is still in scope, it will destroy the // reference to the object. template <class TypeName> inline v8::Local<TypeName> PersistentToLocal( v8::Isolate* isolate, const Persistent<TypeName>& persistent); // Convert a struct sockaddr to a { address: '1.2.3.4', port: 1234 } JS object. // Sets address and port properties on the info object and returns it. // If |info| is omitted, a new object is returned. v8::Local<v8::Object> AddressToJS( Environment* env, const sockaddr* addr, v8::Local<v8::Object> info = v8::Local<v8::Object>()); template <typename T, int (*F)(const typename T::HandleType*, sockaddr*, int*)> void GetSockOrPeerName(const v8::FunctionCallbackInfo<v8::Value>& args) { T* wrap; ASSIGN_OR_RETURN_UNWRAP(&wrap, args.Holder(), args.GetReturnValue().Set(UV_EBADF)); CHECK(args[0]->IsObject()); sockaddr_storage storage; int addrlen = sizeof(storage); sockaddr* const addr = reinterpret_cast<sockaddr*>(&storage); const int err = F(&wrap->handle_, addr, &addrlen); if (err == 0) AddressToJS(wrap->env(), addr, args[0].As<v8::Object>()); args.GetReturnValue().Set(err); } void FatalException(v8::Isolate* isolate, v8::Local<v8::Value> error, v8::Local<v8::Message> message); void SignalExit(int signo); #ifdef __POSIX__ void RegisterSignalHandler(int signal, void (*handler)(int signal), bool reset_handler = false); #endif bool SafeGetenv(const char* key, std::string* text); std::string GetHumanReadableProcessName(); void GetHumanReadableProcessName(char (*name)[1024]); template <typename T, size_t N> constexpr size_t arraysize(const T(&)[N]) { return N; } #ifndef ROUND_UP # define ROUND_UP(a, b) ((a) % (b) ? ((a) + (b)) - ((a) % (b)) : (a)) #endif #ifdef __GNUC__ # define MUST_USE_RESULT __attribute__((warn_unused_result)) #else # define MUST_USE_RESULT #endif bool IsExceptionDecorated(Environment* env, v8::Local<v8::Value> er); enum ErrorHandlingMode { CONTEXTIFY_ERROR, FATAL_ERROR, MODULE_ERROR }; void AppendExceptionLine(Environment* env, v8::Local<v8::Value> er, v8::Local<v8::Message> message, enum ErrorHandlingMode mode); [[noreturn]] void FatalError(const char* location, const char* message); // Like a `TryCatch` but exits the process if an exception was caught. class FatalTryCatch : public v8::TryCatch { public: explicit FatalTryCatch(Environment* env) : TryCatch(env->isolate()), env_(env) {} ~FatalTryCatch(); private: Environment* env_; }; class SlicedArguments { public: inline explicit SlicedArguments( const v8::FunctionCallbackInfo<v8::Value>& args, size_t start = 0); inline size_t size() const { return size_; } inline v8::Local<v8::Value>* data() { return data_; } private: size_t size_; v8::Local<v8::Value>* data_; v8::Local<v8::Value> fixed_[64]; std::vector<v8::Local<v8::Value>> dynamic_; }; SlicedArguments::SlicedArguments( const v8::FunctionCallbackInfo<v8::Value>& args, size_t start) : size_(0), data_(fixed_) { const size_t length = static_cast<size_t>(args.Length()); if (start >= length) return; const size_t size = length - start; if (size > arraysize(fixed_)) { dynamic_.resize(size); data_ = dynamic_.data(); } for (size_t i = 0; i < size; ++i) data_[i] = args[i + start]; size_ = size; } void ReportException(Environment* env, v8::Local<v8::Value> er, v8::Local<v8::Message> message); v8::Maybe<bool> ProcessEmitWarning(Environment* env, const char* fmt, ...); v8::Maybe<bool> ProcessEmitDeprecationWarning(Environment* env, const char* warning, const char* deprecation_code); template <typename NativeT, typename V8T> v8::Local<v8::Value> FillStatsArray(AliasedBuffer<NativeT, V8T>* fields_ptr, const uv_stat_t* s, int offset = 0) { AliasedBuffer<NativeT, V8T>& fields = *fields_ptr; fields[offset + 0] = s->st_dev; fields[offset + 1] = s->st_mode; fields[offset + 2] = s->st_nlink; fields[offset + 3] = s->st_uid; fields[offset + 4] = s->st_gid; fields[offset + 5] = s->st_rdev; #if defined(__POSIX__) fields[offset + 6] = s->st_blksize; #else fields[offset + 6] = 0; #endif fields[offset + 7] = s->st_ino; fields[offset + 8] = s->st_size; #if defined(__POSIX__) fields[offset + 9] = s->st_blocks; #else fields[offset + 9] = 0; #endif // Dates. // NO-LINT because the fields are 'long' and we just want to cast to `unsigned` #define X(idx, name) \ /* NOLINTNEXTLINE(runtime/int) */ \ fields[offset + idx] = ((unsigned long)(s->st_##name.tv_sec) * 1e3) + \ /* NOLINTNEXTLINE(runtime/int) */ \ ((unsigned long)(s->st_##name.tv_nsec) / 1e6); \ X(10, atim) X(11, mtim) X(12, ctim) X(13, birthtim) #undef X return fields_ptr->GetJSArray(); } inline v8::Local<v8::Value> FillGlobalStatsArray(Environment* env, const uv_stat_t* s, bool use_bigint = false, int offset = 0) { if (use_bigint) { return node::FillStatsArray( env->fs_stats_field_bigint_array(), s, offset); } else { return node::FillStatsArray(env->fs_stats_field_array(), s, offset); } } void SetupBootstrapObject(Environment* env, v8::Local<v8::Object> bootstrapper); void SetupProcessObject(Environment* env, const std::vector<std::string>& args, const std::vector<std::string>& exec_args); // Call _register<module_name> functions for all of // the built-in modules. Because built-in modules don't // use the __attribute__((constructor)). Need to // explicitly call the _register* functions. void RegisterBuiltinModules(); enum Endianness { kLittleEndian, // _Not_ LITTLE_ENDIAN, clashes with endian.h. kBigEndian }; inline enum Endianness GetEndianness() { // Constant-folded by the compiler. const union { uint8_t u8[2]; uint16_t u16; } u = { { 1, 0 } }; return u.u16 == 1 ? kLittleEndian : kBigEndian; } inline bool IsLittleEndian() { return GetEndianness() == kLittleEndian; } inline bool IsBigEndian() { return GetEndianness() == kBigEndian; } class ArrayBufferAllocator : public v8::ArrayBuffer::Allocator { public: inline uint32_t* zero_fill_field() { return &zero_fill_field_; } virtual void* Allocate(size_t size); // Defined in src/node.cc virtual void* AllocateUninitialized(size_t size) { return node::UncheckedMalloc(size); } virtual void Free(void* data, size_t) { free(data); } private: uint32_t zero_fill_field_ = 1; // Boolean but exposed as uint32 to JS land. }; namespace Buffer { v8::MaybeLocal<v8::Object> Copy(Environment* env, const char* data, size_t len); v8::MaybeLocal<v8::Object> New(Environment* env, size_t size); // Takes ownership of |data|. v8::MaybeLocal<v8::Object> New(Environment* env, char* data, size_t length, void (*callback)(char* data, void* hint), void* hint); // Takes ownership of |data|. Must allocate |data| with malloc() or realloc() // because ArrayBufferAllocator::Free() deallocates it again with free(). // Mixing operator new and free() is undefined behavior so don't do that. v8::MaybeLocal<v8::Object> New(Environment* env, char* data, size_t length); inline v8::MaybeLocal<v8::Uint8Array> New(Environment* env, v8::Local<v8::ArrayBuffer> ab, size_t byte_offset, size_t length) { v8::Local<v8::Uint8Array> ui = v8::Uint8Array::New(ab, byte_offset, length); v8::Maybe<bool> mb = ui->SetPrototype(env->context(), env->buffer_prototype_object()); if (mb.IsNothing()) return v8::MaybeLocal<v8::Uint8Array>(); return ui; } // Construct a Buffer from a MaybeStackBuffer (and also its subclasses like // Utf8Value and TwoByteValue). // If |buf| is invalidated, an empty MaybeLocal is returned, and nothing is // changed. // If |buf| contains actual data, this method takes ownership of |buf|'s // underlying buffer. However, |buf| itself can be reused even after this call, // but its capacity, if increased through AllocateSufficientStorage, is not // guaranteed to stay the same. template <typename T> static v8::MaybeLocal<v8::Object> New(Environment* env, MaybeStackBuffer<T>* buf) { v8::MaybeLocal<v8::Object> ret; char* src = reinterpret_cast<char*>(buf->out()); const size_t len_in_bytes = buf->length() * sizeof(buf->out()[0]); if (buf->IsAllocated()) ret = New(env, src, len_in_bytes); else if (!buf->IsInvalidated()) ret = Copy(env, src, len_in_bytes); if (ret.IsEmpty()) return ret; if (buf->IsAllocated()) buf->Release(); return ret; } } // namespace Buffer v8::MaybeLocal<v8::Value> InternalMakeCallback( Environment* env, v8::Local<v8::Object> recv, const v8::Local<v8::Function> callback, int argc, v8::Local<v8::Value> argv[], async_context asyncContext); class InternalCallbackScope { public: // Tell the constructor whether its `object` parameter may be empty or not. enum ResourceExpectation { kRequireResource, kAllowEmptyResource }; InternalCallbackScope(Environment* env, v8::Local<v8::Object> object, const async_context& asyncContext, ResourceExpectation expect = kRequireResource); // Utility that can be used by AsyncWrap classes. explicit InternalCallbackScope(AsyncWrap* async_wrap); ~InternalCallbackScope(); void Close(); inline bool Failed() const { return failed_; } inline void MarkAsFailed() { failed_ = true; } private: Environment* env_; async_context async_context_; v8::Local<v8::Object> object_; Environment::AsyncCallbackScope callback_scope_; bool failed_ = false; bool pushed_ids_ = false; bool closed_ = false; }; class ThreadPoolWork { public: explicit inline ThreadPoolWork(Environment* env) : env_(env) { CHECK_NOT_NULL(env); } inline virtual ~ThreadPoolWork() = default; inline void ScheduleWork(); inline int CancelWork(); virtual void DoThreadPoolWork() = 0; virtual void AfterThreadPoolWork(int status) = 0; private: Environment* env_; uv_work_t work_req_; }; void ThreadPoolWork::ScheduleWork() { env_->IncreaseWaitingRequestCounter(); int status = uv_queue_work( env_->event_loop(), &work_req_, [](uv_work_t* req) { ThreadPoolWork* self = ContainerOf(&ThreadPoolWork::work_req_, req); self->DoThreadPoolWork(); }, [](uv_work_t* req, int status) { ThreadPoolWork* self = ContainerOf(&ThreadPoolWork::work_req_, req); self->env_->DecreaseWaitingRequestCounter(); self->AfterThreadPoolWork(status); }); CHECK_EQ(status, 0); } int ThreadPoolWork::CancelWork() { return uv_cancel(reinterpret_cast<uv_req_t*>(&work_req_)); } void DisposePlatform(); static inline const char* errno_string(int errorno) { #define ERRNO_CASE(e) case e: return #e; switch (errorno) { #ifdef EACCES ERRNO_CASE(EACCES); #endif #ifdef EADDRINUSE ERRNO_CASE(EADDRINUSE); #endif #ifdef EADDRNOTAVAIL ERRNO_CASE(EADDRNOTAVAIL); #endif #ifdef EAFNOSUPPORT ERRNO_CASE(EAFNOSUPPORT); #endif #ifdef EAGAIN ERRNO_CASE(EAGAIN); #endif #ifdef EWOULDBLOCK # if EAGAIN != EWOULDBLOCK ERRNO_CASE(EWOULDBLOCK); # endif #endif #ifdef EALREADY ERRNO_CASE(EALREADY); #endif #ifdef EBADF ERRNO_CASE(EBADF); #endif #ifdef EBADMSG ERRNO_CASE(EBADMSG); #endif #ifdef EBUSY ERRNO_CASE(EBUSY); #endif #ifdef ECANCELED ERRNO_CASE(ECANCELED); #endif #ifdef ECHILD ERRNO_CASE(ECHILD); #endif #ifdef ECONNABORTED ERRNO_CASE(ECONNABORTED); #endif #ifdef ECONNREFUSED ERRNO_CASE(ECONNREFUSED); #endif #ifdef ECONNRESET ERRNO_CASE(ECONNRESET); #endif #ifdef EDEADLK ERRNO_CASE(EDEADLK); #endif #ifdef EDESTADDRREQ ERRNO_CASE(EDESTADDRREQ); #endif #ifdef EDOM ERRNO_CASE(EDOM); #endif #ifdef EDQUOT ERRNO_CASE(EDQUOT); #endif #ifdef EEXIST ERRNO_CASE(EEXIST); #endif #ifdef EFAULT ERRNO_CASE(EFAULT); #endif #ifdef EFBIG ERRNO_CASE(EFBIG); #endif #ifdef EHOSTUNREACH ERRNO_CASE(EHOSTUNREACH); #endif #ifdef EIDRM ERRNO_CASE(EIDRM); #endif #ifdef EILSEQ ERRNO_CASE(EILSEQ); #endif #ifdef EINPROGRESS ERRNO_CASE(EINPROGRESS); #endif #ifdef EINTR ERRNO_CASE(EINTR); #endif #ifdef EINVAL ERRNO_CASE(EINVAL); #endif #ifdef EIO ERRNO_CASE(EIO); #endif #ifdef EISCONN ERRNO_CASE(EISCONN); #endif #ifdef EISDIR ERRNO_CASE(EISDIR); #endif #ifdef ELOOP ERRNO_CASE(ELOOP); #endif #ifdef EMFILE ERRNO_CASE(EMFILE); #endif #ifdef EMLINK ERRNO_CASE(EMLINK); #endif #ifdef EMSGSIZE ERRNO_CASE(EMSGSIZE); #endif #ifdef EMULTIHOP ERRNO_CASE(EMULTIHOP); #endif #ifdef ENAMETOOLONG ERRNO_CASE(ENAMETOOLONG); #endif #ifdef ENETDOWN ERRNO_CASE(ENETDOWN); #endif #ifdef ENETRESET ERRNO_CASE(ENETRESET); #endif #ifdef ENETUNREACH ERRNO_CASE(ENETUNREACH); #endif #ifdef ENFILE ERRNO_CASE(ENFILE); #endif #ifdef ENOBUFS ERRNO_CASE(ENOBUFS); #endif #ifdef ENODATA ERRNO_CASE(ENODATA); #endif #ifdef ENODEV ERRNO_CASE(ENODEV); #endif #ifdef ENOENT ERRNO_CASE(ENOENT); #endif #ifdef ENOEXEC ERRNO_CASE(ENOEXEC); #endif #ifdef ENOLINK ERRNO_CASE(ENOLINK); #endif #ifdef ENOLCK # if ENOLINK != ENOLCK ERRNO_CASE(ENOLCK); # endif #endif #ifdef ENOMEM ERRNO_CASE(ENOMEM); #endif #ifdef ENOMSG ERRNO_CASE(ENOMSG); #endif #ifdef ENOPROTOOPT ERRNO_CASE(ENOPROTOOPT); #endif #ifdef ENOSPC ERRNO_CASE(ENOSPC); #endif #ifdef ENOSR ERRNO_CASE(ENOSR); #endif #ifdef ENOSTR ERRNO_CASE(ENOSTR); #endif #ifdef ENOSYS ERRNO_CASE(ENOSYS); #endif #ifdef ENOTCONN ERRNO_CASE(ENOTCONN); #endif #ifdef ENOTDIR ERRNO_CASE(ENOTDIR); #endif #ifdef ENOTEMPTY # if ENOTEMPTY != EEXIST ERRNO_CASE(ENOTEMPTY); # endif #endif #ifdef ENOTSOCK ERRNO_CASE(ENOTSOCK); #endif #ifdef ENOTSUP ERRNO_CASE(ENOTSUP); #else # ifdef EOPNOTSUPP ERRNO_CASE(EOPNOTSUPP); # endif #endif #ifdef ENOTTY ERRNO_CASE(ENOTTY); #endif #ifdef ENXIO ERRNO_CASE(ENXIO); #endif #ifdef EOVERFLOW ERRNO_CASE(EOVERFLOW); #endif #ifdef EPERM ERRNO_CASE(EPERM); #endif #ifdef EPIPE ERRNO_CASE(EPIPE); #endif #ifdef EPROTO ERRNO_CASE(EPROTO); #endif #ifdef EPROTONOSUPPORT ERRNO_CASE(EPROTONOSUPPORT); #endif #ifdef EPROTOTYPE ERRNO_CASE(EPROTOTYPE); #endif #ifdef ERANGE ERRNO_CASE(ERANGE); #endif #ifdef EROFS ERRNO_CASE(EROFS); #endif #ifdef ESPIPE ERRNO_CASE(ESPIPE); #endif #ifdef ESRCH ERRNO_CASE(ESRCH); #endif #ifdef ESTALE ERRNO_CASE(ESTALE); #endif #ifdef ETIME ERRNO_CASE(ETIME); #endif #ifdef ETIMEDOUT ERRNO_CASE(ETIMEDOUT); #endif #ifdef ETXTBSY ERRNO_CASE(ETXTBSY); #endif #ifdef EXDEV ERRNO_CASE(EXDEV); #endif default: return ""; } } #define NODE_MODULE_CONTEXT_AWARE_INTERNAL(modname, regfunc) \ NODE_MODULE_CONTEXT_AWARE_CPP(modname, regfunc, nullptr, NM_F_INTERNAL) #define TRACING_CATEGORY_NODE "node" #define TRACING_CATEGORY_NODE1(one) \ TRACING_CATEGORY_NODE "," \ TRACING_CATEGORY_NODE "." #one #define TRACING_CATEGORY_NODE2(one, two) \ TRACING_CATEGORY_NODE "," \ TRACING_CATEGORY_NODE "." #one "," \ TRACING_CATEGORY_NODE "." #one "." #two // Functions defined in node.cc that are exposed via the bootstrapper object extern double prog_start_time; void PrintErrorString(const char* format, ...); void Abort(const v8::FunctionCallbackInfo<v8::Value>& args); void Chdir(const v8::FunctionCallbackInfo<v8::Value>& args); void CPUUsage(const v8::FunctionCallbackInfo<v8::Value>& args); void Cwd(const v8::FunctionCallbackInfo<v8::Value>& args); void GetActiveHandles(const v8::FunctionCallbackInfo<v8::Value>& args); void GetActiveRequests(const v8::FunctionCallbackInfo<v8::Value>& args); void Hrtime(const v8::FunctionCallbackInfo<v8::Value>& args); void HrtimeBigInt(const v8::FunctionCallbackInfo<v8::Value>& args); void Kill(const v8::FunctionCallbackInfo<v8::Value>& args); void MemoryUsage(const v8::FunctionCallbackInfo<v8::Value>& args); void RawDebug(const v8::FunctionCallbackInfo<v8::Value>& args); void StartProfilerIdleNotifier(const v8::FunctionCallbackInfo<v8::Value>& args); void StopProfilerIdleNotifier(const v8::FunctionCallbackInfo<v8::Value>& args); void Umask(const v8::FunctionCallbackInfo<v8::Value>& args); void Uptime(const v8::FunctionCallbackInfo<v8::Value>& args); void EnvDeleter(v8::Local<v8::Name> property, const v8::PropertyCallbackInfo<v8::Boolean>& info); void EnvGetter(v8::Local<v8::Name> property, const v8::PropertyCallbackInfo<v8::Value>& info); void EnvSetter(v8::Local<v8::Name> property, v8::Local<v8::Value> value, const v8::PropertyCallbackInfo<v8::Value>& info); void EnvQuery(v8::Local<v8::Name> property, const v8::PropertyCallbackInfo<v8::Integer>& info); void EnvEnumerator(const v8::PropertyCallbackInfo<v8::Array>& info); void DebugPortGetter(v8::Local<v8::Name> property, const v8::PropertyCallbackInfo<v8::Value>& info); void DebugPortSetter(v8::Local<v8::Name> property, v8::Local<v8::Value> value, const v8::PropertyCallbackInfo<void>& info); void GetParentProcessId(v8::Local<v8::Name> property, const v8::PropertyCallbackInfo<v8::Value>& info); void ProcessTitleGetter(v8::Local<v8::Name> property, const v8::PropertyCallbackInfo<v8::Value>& info); void ProcessTitleSetter(v8::Local<v8::Name> property, v8::Local<v8::Value> value, const v8::PropertyCallbackInfo<void>& info); #if defined(__POSIX__) && !defined(__ANDROID__) && !defined(__CloudABI__) void SetGid(const v8::FunctionCallbackInfo<v8::Value>& args); void SetEGid(const v8::FunctionCallbackInfo<v8::Value>& args); void SetUid(const v8::FunctionCallbackInfo<v8::Value>& args); void SetEUid(const v8::FunctionCallbackInfo<v8::Value>& args); void SetGroups(const v8::FunctionCallbackInfo<v8::Value>& args); void InitGroups(const v8::FunctionCallbackInfo<v8::Value>& args); void GetUid(const v8::FunctionCallbackInfo<v8::Value>& args); void GetGid(const v8::FunctionCallbackInfo<v8::Value>& args); void GetEUid(const v8::FunctionCallbackInfo<v8::Value>& args); void GetEGid(const v8::FunctionCallbackInfo<v8::Value>& args); void GetGroups(const v8::FunctionCallbackInfo<v8::Value>& args); #endif // __POSIX__ && !defined(__ANDROID__) && !defined(__CloudABI__) void DefineZlibConstants(v8::Local<v8::Object> target); } // namespace node void napi_module_register_by_symbol(v8::Local<v8::Object> exports, v8::Local<v8::Value> module, v8::Local<v8::Context> context, napi_addon_register_func init); #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS #endif // SRC_NODE_INTERNALS_H_
Close