| #ifndef SRC_NODE_API_TYPES_H_ |
| #define SRC_NODE_API_TYPES_H_ |
| |
| #include "js_native_api_types.h" |
| |
| typedef struct napi_callback_scope__* napi_callback_scope; |
| typedef struct napi_async_context__* napi_async_context; |
| typedef struct napi_async_work__* napi_async_work; |
| #if NAPI_VERSION >= 4 |
| typedef struct napi_threadsafe_function__* napi_threadsafe_function; |
| #endif // NAPI_VERSION >= 4 |
| |
| #if NAPI_VERSION >= 4 |
| typedef enum { |
| napi_tsfn_release, |
| napi_tsfn_abort |
| } napi_threadsafe_function_release_mode; |
| |
| typedef enum { |
| napi_tsfn_nonblocking, |
| napi_tsfn_blocking |
| } napi_threadsafe_function_call_mode; |
| #endif // NAPI_VERSION >= 4 |
| |
| typedef void (*napi_async_execute_callback)(napi_env env, |
| void* data); |
| typedef void (*napi_async_complete_callback)(napi_env env, |
| napi_status status, |
| void* data); |
| #if NAPI_VERSION >= 4 |
| typedef void (*napi_threadsafe_function_call_js)(napi_env env, |
| napi_value js_callback, |
| void* context, |
| void* data); |
| #endif // NAPI_VERSION >= 4 |
| |
| typedef struct { |
| uint32_t major; |
| uint32_t minor; |
| uint32_t patch; |
| const char* release; |
| } napi_node_version; |
| |
| #endif // SRC_NODE_API_TYPES_H_ |