Blame include/uv.h

Packit Service 7c31a4
/* Copyright Joyent, Inc. and other Node contributors. All rights reserved.
Packit Service 7c31a4
 *
Packit Service 7c31a4
 * Permission is hereby granted, free of charge, to any person obtaining a copy
Packit Service 7c31a4
 * of this software and associated documentation files (the "Software"), to
Packit Service 7c31a4
 * deal in the Software without restriction, including without limitation the
Packit Service 7c31a4
 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
Packit Service 7c31a4
 * sell copies of the Software, and to permit persons to whom the Software is
Packit Service 7c31a4
 * furnished to do so, subject to the following conditions:
Packit Service 7c31a4
 *
Packit Service 7c31a4
 * The above copyright notice and this permission notice shall be included in
Packit Service 7c31a4
 * all copies or substantial portions of the Software.
Packit Service 7c31a4
 *
Packit Service 7c31a4
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
Packit Service 7c31a4
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
Packit Service 7c31a4
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
Packit Service 7c31a4
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
Packit Service 7c31a4
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
Packit Service 7c31a4
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
Packit Service 7c31a4
 * IN THE SOFTWARE.
Packit Service 7c31a4
 */
Packit Service 7c31a4
Packit Service 7c31a4
/* See https://github.com/libuv/libuv#documentation for documentation. */
Packit Service 7c31a4
Packit Service 7c31a4
#ifndef UV_H
Packit Service 7c31a4
#define UV_H
Packit Service 7c31a4
#ifdef __cplusplus
Packit Service 7c31a4
extern "C" {
Packit Service 7c31a4
#endif
Packit Service 7c31a4
Packit Service 7c31a4
#if defined(BUILDING_UV_SHARED) && defined(USING_UV_SHARED)
Packit Service 7c31a4
#error "Define either BUILDING_UV_SHARED or USING_UV_SHARED, not both."
Packit Service 7c31a4
#endif
Packit Service 7c31a4
Packit Service 7c31a4
#ifdef _WIN32
Packit Service 7c31a4
  /* Windows - set up dll import/export decorators. */
Packit Service 7c31a4
# if defined(BUILDING_UV_SHARED)
Packit Service 7c31a4
    /* Building shared library. */
Packit Service 7c31a4
#   define UV_EXTERN __declspec(dllexport)
Packit Service 7c31a4
# elif defined(USING_UV_SHARED)
Packit Service 7c31a4
    /* Using shared library. */
Packit Service 7c31a4
#   define UV_EXTERN __declspec(dllimport)
Packit Service 7c31a4
# else
Packit Service 7c31a4
    /* Building static library. */
Packit Service 7c31a4
#   define UV_EXTERN /* nothing */
Packit Service 7c31a4
# endif
Packit Service 7c31a4
#elif __GNUC__ >= 4
Packit Service 7c31a4
# define UV_EXTERN __attribute__((visibility("default")))
Packit Service 7c31a4
#else
Packit Service 7c31a4
# define UV_EXTERN /* nothing */
Packit Service 7c31a4
#endif
Packit Service 7c31a4
Packit Service 7c31a4
#include "uv/errno.h"
Packit Service 7c31a4
#include "uv/version.h"
Packit Service 7c31a4
#include <stddef.h>
Packit Service 7c31a4
#include <stdio.h>
Packit Service 7c31a4
Packit Service 7c31a4
#if defined(_MSC_VER) && _MSC_VER < 1600
Packit Service 7c31a4
# include "uv/stdint-msvc2008.h"
Packit Service 7c31a4
#else
Packit Service 7c31a4
# include <stdint.h>
Packit Service 7c31a4
#endif
Packit Service 7c31a4
Packit Service 7c31a4
#if defined(_WIN32)
Packit Service 7c31a4
# include "uv/win.h"
Packit Service 7c31a4
#else
Packit Service 7c31a4
# include "uv/unix.h"
Packit Service 7c31a4
#endif
Packit Service 7c31a4
Packit Service 7c31a4
/* Expand this list if necessary. */
Packit Service 7c31a4
#define UV_ERRNO_MAP(XX)                                                      \
Packit Service 7c31a4
  XX(E2BIG, "argument list too long")                                         \
Packit Service 7c31a4
  XX(EACCES, "permission denied")                                             \
Packit Service 7c31a4
  XX(EADDRINUSE, "address already in use")                                    \
Packit Service 7c31a4
  XX(EADDRNOTAVAIL, "address not available")                                  \
Packit Service 7c31a4
  XX(EAFNOSUPPORT, "address family not supported")                            \
Packit Service 7c31a4
  XX(EAGAIN, "resource temporarily unavailable")                              \
Packit Service 7c31a4
  XX(EAI_ADDRFAMILY, "address family not supported")                          \
Packit Service 7c31a4
  XX(EAI_AGAIN, "temporary failure")                                          \
Packit Service 7c31a4
  XX(EAI_BADFLAGS, "bad ai_flags value")                                      \
Packit Service 7c31a4
  XX(EAI_BADHINTS, "invalid value for hints")                                 \
Packit Service 7c31a4
  XX(EAI_CANCELED, "request canceled")                                        \
Packit Service 7c31a4
  XX(EAI_FAIL, "permanent failure")                                           \
Packit Service 7c31a4
  XX(EAI_FAMILY, "ai_family not supported")                                   \
Packit Service 7c31a4
  XX(EAI_MEMORY, "out of memory")                                             \
Packit Service 7c31a4
  XX(EAI_NODATA, "no address")                                                \
Packit Service 7c31a4
  XX(EAI_NONAME, "unknown node or service")                                   \
Packit Service 7c31a4
  XX(EAI_OVERFLOW, "argument buffer overflow")                                \
Packit Service 7c31a4
  XX(EAI_PROTOCOL, "resolved protocol is unknown")                            \
Packit Service 7c31a4
  XX(EAI_SERVICE, "service not available for socket type")                    \
Packit Service 7c31a4
  XX(EAI_SOCKTYPE, "socket type not supported")                               \
Packit Service 7c31a4
  XX(EALREADY, "connection already in progress")                              \
Packit Service 7c31a4
  XX(EBADF, "bad file descriptor")                                            \
Packit Service 7c31a4
  XX(EBUSY, "resource busy or locked")                                        \
Packit Service 7c31a4
  XX(ECANCELED, "operation canceled")                                         \
Packit Service 7c31a4
  XX(ECHARSET, "invalid Unicode character")                                   \
Packit Service 7c31a4
  XX(ECONNABORTED, "software caused connection abort")                        \
Packit Service 7c31a4
  XX(ECONNREFUSED, "connection refused")                                      \
Packit Service 7c31a4
  XX(ECONNRESET, "connection reset by peer")                                  \
Packit Service 7c31a4
  XX(EDESTADDRREQ, "destination address required")                            \
Packit Service 7c31a4
  XX(EEXIST, "file already exists")                                           \
Packit Service 7c31a4
  XX(EFAULT, "bad address in system call argument")                           \
Packit Service 7c31a4
  XX(EFBIG, "file too large")                                                 \
Packit Service 7c31a4
  XX(EHOSTUNREACH, "host is unreachable")                                     \
Packit Service 7c31a4
  XX(EINTR, "interrupted system call")                                        \
Packit Service 7c31a4
  XX(EINVAL, "invalid argument")                                              \
Packit Service 7c31a4
  XX(EIO, "i/o error")                                                        \
Packit Service 7c31a4
  XX(EISCONN, "socket is already connected")                                  \
Packit Service 7c31a4
  XX(EISDIR, "illegal operation on a directory")                              \
Packit Service 7c31a4
  XX(ELOOP, "too many symbolic links encountered")                            \
Packit Service 7c31a4
  XX(EMFILE, "too many open files")                                           \
Packit Service 7c31a4
  XX(EMSGSIZE, "message too long")                                            \
Packit Service 7c31a4
  XX(ENAMETOOLONG, "name too long")                                           \
Packit Service 7c31a4
  XX(ENETDOWN, "network is down")                                             \
Packit Service 7c31a4
  XX(ENETUNREACH, "network is unreachable")                                   \
Packit Service 7c31a4
  XX(ENFILE, "file table overflow")                                           \
Packit Service 7c31a4
  XX(ENOBUFS, "no buffer space available")                                    \
Packit Service 7c31a4
  XX(ENODEV, "no such device")                                                \
Packit Service 7c31a4
  XX(ENOENT, "no such file or directory")                                     \
Packit Service 7c31a4
  XX(ENOMEM, "not enough memory")                                             \
Packit Service 7c31a4
  XX(ENONET, "machine is not on the network")                                 \
Packit Service 7c31a4
  XX(ENOPROTOOPT, "protocol not available")                                   \
Packit Service 7c31a4
  XX(ENOSPC, "no space left on device")                                       \
Packit Service 7c31a4
  XX(ENOSYS, "function not implemented")                                      \
Packit Service 7c31a4
  XX(ENOTCONN, "socket is not connected")                                     \
Packit Service 7c31a4
  XX(ENOTDIR, "not a directory")                                              \
Packit Service 7c31a4
  XX(ENOTEMPTY, "directory not empty")                                        \
Packit Service 7c31a4
  XX(ENOTSOCK, "socket operation on non-socket")                              \
Packit Service 7c31a4
  XX(ENOTSUP, "operation not supported on socket")                            \
Packit Service 7c31a4
  XX(EPERM, "operation not permitted")                                        \
Packit Service 7c31a4
  XX(EPIPE, "broken pipe")                                                    \
Packit Service 7c31a4
  XX(EPROTO, "protocol error")                                                \
Packit Service 7c31a4
  XX(EPROTONOSUPPORT, "protocol not supported")                               \
Packit Service 7c31a4
  XX(EPROTOTYPE, "protocol wrong type for socket")                            \
Packit Service 7c31a4
  XX(ERANGE, "result too large")                                              \
Packit Service 7c31a4
  XX(EROFS, "read-only file system")                                          \
Packit Service 7c31a4
  XX(ESHUTDOWN, "cannot send after transport endpoint shutdown")              \
Packit Service 7c31a4
  XX(ESPIPE, "invalid seek")                                                  \
Packit Service 7c31a4
  XX(ESRCH, "no such process")                                                \
Packit Service 7c31a4
  XX(ETIMEDOUT, "connection timed out")                                       \
Packit Service 7c31a4
  XX(ETXTBSY, "text file is busy")                                            \
Packit Service 7c31a4
  XX(EXDEV, "cross-device link not permitted")                                \
Packit Service 7c31a4
  XX(UNKNOWN, "unknown error")                                                \
Packit Service 7c31a4
  XX(EOF, "end of file")                                                      \
Packit Service 7c31a4
  XX(ENXIO, "no such device or address")                                      \
Packit Service 7c31a4
  XX(EMLINK, "too many links")                                                \
Packit Service 7c31a4
  XX(EHOSTDOWN, "host is down")                                               \
Packit Service 7c31a4
  XX(EREMOTEIO, "remote I/O error")                                           \
Packit Service 7c31a4
  XX(ENOTTY, "inappropriate ioctl for device")                                \
Packit Service 7c31a4
  XX(EFTYPE, "inappropriate file type or format")                             \
Packit Service 7c31a4
  XX(EILSEQ, "illegal byte sequence")                                         \
Packit Service 7c31a4
Packit Service 7c31a4
#define UV_HANDLE_TYPE_MAP(XX)                                                \
Packit Service 7c31a4
  XX(ASYNC, async)                                                            \
Packit Service 7c31a4
  XX(CHECK, check)                                                            \
Packit Service 7c31a4
  XX(FS_EVENT, fs_event)                                                      \
Packit Service 7c31a4
  XX(FS_POLL, fs_poll)                                                        \
Packit Service 7c31a4
  XX(HANDLE, handle)                                                          \
Packit Service 7c31a4
  XX(IDLE, idle)                                                              \
Packit Service 7c31a4
  XX(NAMED_PIPE, pipe)                                                        \
Packit Service 7c31a4
  XX(POLL, poll)                                                              \
Packit Service 7c31a4
  XX(PREPARE, prepare)                                                        \
Packit Service 7c31a4
  XX(PROCESS, process)                                                        \
Packit Service 7c31a4
  XX(STREAM, stream)                                                          \
Packit Service 7c31a4
  XX(TCP, tcp)                                                                \
Packit Service 7c31a4
  XX(TIMER, timer)                                                            \
Packit Service 7c31a4
  XX(TTY, tty)                                                                \
Packit Service 7c31a4
  XX(UDP, udp)                                                                \
Packit Service 7c31a4
  XX(SIGNAL, signal)                                                          \
Packit Service 7c31a4
Packit Service 7c31a4
#define UV_REQ_TYPE_MAP(XX)                                                   \
Packit Service 7c31a4
  XX(REQ, req)                                                                \
Packit Service 7c31a4
  XX(CONNECT, connect)                                                        \
Packit Service 7c31a4
  XX(WRITE, write)                                                            \
Packit Service 7c31a4
  XX(SHUTDOWN, shutdown)                                                      \
Packit Service 7c31a4
  XX(UDP_SEND, udp_send)                                                      \
Packit Service 7c31a4
  XX(FS, fs)                                                                  \
Packit Service 7c31a4
  XX(WORK, work)                                                              \
Packit Service 7c31a4
  XX(GETADDRINFO, getaddrinfo)                                                \
Packit Service 7c31a4
  XX(GETNAMEINFO, getnameinfo)                                                \
Packit Service 7c31a4
  XX(RANDOM, random)                                                          \
Packit Service 7c31a4
Packit Service 7c31a4
typedef enum {
Packit Service 7c31a4
#define XX(code, _) UV_ ## code = UV__ ## code,
Packit Service 7c31a4
  UV_ERRNO_MAP(XX)
Packit Service 7c31a4
#undef XX
Packit Service 7c31a4
  UV_ERRNO_MAX = UV__EOF - 1
Packit Service 7c31a4
} uv_errno_t;
Packit Service 7c31a4
Packit Service 7c31a4
typedef enum {
Packit Service 7c31a4
  UV_UNKNOWN_HANDLE = 0,
Packit Service 7c31a4
#define XX(uc, lc) UV_##uc,
Packit Service 7c31a4
  UV_HANDLE_TYPE_MAP(XX)
Packit Service 7c31a4
#undef XX
Packit Service 7c31a4
  UV_FILE,
Packit Service 7c31a4
  UV_HANDLE_TYPE_MAX
Packit Service 7c31a4
} uv_handle_type;
Packit Service 7c31a4
Packit Service 7c31a4
typedef enum {
Packit Service 7c31a4
  UV_UNKNOWN_REQ = 0,
Packit Service 7c31a4
#define XX(uc, lc) UV_##uc,
Packit Service 7c31a4
  UV_REQ_TYPE_MAP(XX)
Packit Service 7c31a4
#undef XX
Packit Service 7c31a4
  UV_REQ_TYPE_PRIVATE
Packit Service 7c31a4
  UV_REQ_TYPE_MAX
Packit Service 7c31a4
} uv_req_type;
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
/* Handle types. */
Packit Service 7c31a4
typedef struct uv_loop_s uv_loop_t;
Packit Service 7c31a4
typedef struct uv_handle_s uv_handle_t;
Packit Service 7c31a4
typedef struct uv_dir_s uv_dir_t;
Packit Service 7c31a4
typedef struct uv_stream_s uv_stream_t;
Packit Service 7c31a4
typedef struct uv_tcp_s uv_tcp_t;
Packit Service 7c31a4
typedef struct uv_udp_s uv_udp_t;
Packit Service 7c31a4
typedef struct uv_pipe_s uv_pipe_t;
Packit Service 7c31a4
typedef struct uv_tty_s uv_tty_t;
Packit Service 7c31a4
typedef struct uv_poll_s uv_poll_t;
Packit Service 7c31a4
typedef struct uv_timer_s uv_timer_t;
Packit Service 7c31a4
typedef struct uv_prepare_s uv_prepare_t;
Packit Service 7c31a4
typedef struct uv_check_s uv_check_t;
Packit Service 7c31a4
typedef struct uv_idle_s uv_idle_t;
Packit Service 7c31a4
typedef struct uv_async_s uv_async_t;
Packit Service 7c31a4
typedef struct uv_process_s uv_process_t;
Packit Service 7c31a4
typedef struct uv_fs_event_s uv_fs_event_t;
Packit Service 7c31a4
typedef struct uv_fs_poll_s uv_fs_poll_t;
Packit Service 7c31a4
typedef struct uv_signal_s uv_signal_t;
Packit Service 7c31a4
Packit Service 7c31a4
/* Request types. */
Packit Service 7c31a4
typedef struct uv_req_s uv_req_t;
Packit Service 7c31a4
typedef struct uv_getaddrinfo_s uv_getaddrinfo_t;
Packit Service 7c31a4
typedef struct uv_getnameinfo_s uv_getnameinfo_t;
Packit Service 7c31a4
typedef struct uv_shutdown_s uv_shutdown_t;
Packit Service 7c31a4
typedef struct uv_write_s uv_write_t;
Packit Service 7c31a4
typedef struct uv_connect_s uv_connect_t;
Packit Service 7c31a4
typedef struct uv_udp_send_s uv_udp_send_t;
Packit Service 7c31a4
typedef struct uv_fs_s uv_fs_t;
Packit Service 7c31a4
typedef struct uv_work_s uv_work_t;
Packit Service 7c31a4
typedef struct uv_random_s uv_random_t;
Packit Service 7c31a4
Packit Service 7c31a4
/* None of the above. */
Packit Service 7c31a4
typedef struct uv_env_item_s uv_env_item_t;
Packit Service 7c31a4
typedef struct uv_cpu_info_s uv_cpu_info_t;
Packit Service 7c31a4
typedef struct uv_interface_address_s uv_interface_address_t;
Packit Service 7c31a4
typedef struct uv_dirent_s uv_dirent_t;
Packit Service 7c31a4
typedef struct uv_passwd_s uv_passwd_t;
Packit Service 7c31a4
typedef struct uv_utsname_s uv_utsname_t;
Packit Service 7c31a4
typedef struct uv_statfs_s uv_statfs_t;
Packit Service 7c31a4
Packit Service 7c31a4
typedef enum {
Packit Service e2ebee
  UV_LOOP_BLOCK_SIGNAL = 0,
Packit Service e2ebee
  UV_METRICS_IDLE_TIME
Packit Service 7c31a4
} uv_loop_option;
Packit Service 7c31a4
Packit Service 7c31a4
typedef enum {
Packit Service 7c31a4
  UV_RUN_DEFAULT = 0,
Packit Service 7c31a4
  UV_RUN_ONCE,
Packit Service 7c31a4
  UV_RUN_NOWAIT
Packit Service 7c31a4
} uv_run_mode;
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN unsigned int uv_version(void);
Packit Service 7c31a4
UV_EXTERN const char* uv_version_string(void);
Packit Service 7c31a4
Packit Service 7c31a4
typedef void* (*uv_malloc_func)(size_t size);
Packit Service 7c31a4
typedef void* (*uv_realloc_func)(void* ptr, size_t size);
Packit Service 7c31a4
typedef void* (*uv_calloc_func)(size_t count, size_t size);
Packit Service 7c31a4
typedef void (*uv_free_func)(void* ptr);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN void uv_library_shutdown(void);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_replace_allocator(uv_malloc_func malloc_func,
Packit Service 7c31a4
                                   uv_realloc_func realloc_func,
Packit Service 7c31a4
                                   uv_calloc_func calloc_func,
Packit Service 7c31a4
                                   uv_free_func free_func);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN uv_loop_t* uv_default_loop(void);
Packit Service 7c31a4
UV_EXTERN int uv_loop_init(uv_loop_t* loop);
Packit Service 7c31a4
UV_EXTERN int uv_loop_close(uv_loop_t* loop);
Packit Service 7c31a4
/*
Packit Service 7c31a4
 * NOTE:
Packit Service 7c31a4
 *  This function is DEPRECATED (to be removed after 0.12), users should
Packit Service 7c31a4
 *  allocate the loop manually and use uv_loop_init instead.
Packit Service 7c31a4
 */
Packit Service 7c31a4
UV_EXTERN uv_loop_t* uv_loop_new(void);
Packit Service 7c31a4
/*
Packit Service 7c31a4
 * NOTE:
Packit Service 7c31a4
 *  This function is DEPRECATED (to be removed after 0.12). Users should use
Packit Service 7c31a4
 *  uv_loop_close and free the memory manually instead.
Packit Service 7c31a4
 */
Packit Service 7c31a4
UV_EXTERN void uv_loop_delete(uv_loop_t*);
Packit Service 7c31a4
UV_EXTERN size_t uv_loop_size(void);
Packit Service 7c31a4
UV_EXTERN int uv_loop_alive(const uv_loop_t* loop);
Packit Service 7c31a4
UV_EXTERN int uv_loop_configure(uv_loop_t* loop, uv_loop_option option, ...);
Packit Service 7c31a4
UV_EXTERN int uv_loop_fork(uv_loop_t* loop);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_run(uv_loop_t*, uv_run_mode mode);
Packit Service 7c31a4
UV_EXTERN void uv_stop(uv_loop_t*);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN void uv_ref(uv_handle_t*);
Packit Service 7c31a4
UV_EXTERN void uv_unref(uv_handle_t*);
Packit Service 7c31a4
UV_EXTERN int uv_has_ref(const uv_handle_t*);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN void uv_update_time(uv_loop_t*);
Packit Service 7c31a4
UV_EXTERN uint64_t uv_now(const uv_loop_t*);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_backend_fd(const uv_loop_t*);
Packit Service 7c31a4
UV_EXTERN int uv_backend_timeout(const uv_loop_t*);
Packit Service 7c31a4
Packit Service 7c31a4
typedef void (*uv_alloc_cb)(uv_handle_t* handle,
Packit Service 7c31a4
                            size_t suggested_size,
Packit Service 7c31a4
                            uv_buf_t* buf);
Packit Service 7c31a4
typedef void (*uv_read_cb)(uv_stream_t* stream,
Packit Service 7c31a4
                           ssize_t nread,
Packit Service 7c31a4
                           const uv_buf_t* buf);
Packit Service 7c31a4
typedef void (*uv_write_cb)(uv_write_t* req, int status);
Packit Service 7c31a4
typedef void (*uv_connect_cb)(uv_connect_t* req, int status);
Packit Service 7c31a4
typedef void (*uv_shutdown_cb)(uv_shutdown_t* req, int status);
Packit Service 7c31a4
typedef void (*uv_connection_cb)(uv_stream_t* server, int status);
Packit Service 7c31a4
typedef void (*uv_close_cb)(uv_handle_t* handle);
Packit Service 7c31a4
typedef void (*uv_poll_cb)(uv_poll_t* handle, int status, int events);
Packit Service 7c31a4
typedef void (*uv_timer_cb)(uv_timer_t* handle);
Packit Service 7c31a4
typedef void (*uv_async_cb)(uv_async_t* handle);
Packit Service 7c31a4
typedef void (*uv_prepare_cb)(uv_prepare_t* handle);
Packit Service 7c31a4
typedef void (*uv_check_cb)(uv_check_t* handle);
Packit Service 7c31a4
typedef void (*uv_idle_cb)(uv_idle_t* handle);
Packit Service 7c31a4
typedef void (*uv_exit_cb)(uv_process_t*, int64_t exit_status, int term_signal);
Packit Service 7c31a4
typedef void (*uv_walk_cb)(uv_handle_t* handle, void* arg);
Packit Service 7c31a4
typedef void (*uv_fs_cb)(uv_fs_t* req);
Packit Service 7c31a4
typedef void (*uv_work_cb)(uv_work_t* req);
Packit Service 7c31a4
typedef void (*uv_after_work_cb)(uv_work_t* req, int status);
Packit Service 7c31a4
typedef void (*uv_getaddrinfo_cb)(uv_getaddrinfo_t* req,
Packit Service 7c31a4
                                  int status,
Packit Service 7c31a4
                                  struct addrinfo* res);
Packit Service 7c31a4
typedef void (*uv_getnameinfo_cb)(uv_getnameinfo_t* req,
Packit Service 7c31a4
                                  int status,
Packit Service 7c31a4
                                  const char* hostname,
Packit Service 7c31a4
                                  const char* service);
Packit Service 7c31a4
typedef void (*uv_random_cb)(uv_random_t* req,
Packit Service 7c31a4
                             int status,
Packit Service 7c31a4
                             void* buf,
Packit Service 7c31a4
                             size_t buflen);
Packit Service 7c31a4
Packit Service 7c31a4
typedef struct {
Packit Service 7c31a4
  long tv_sec;
Packit Service 7c31a4
  long tv_nsec;
Packit Service 7c31a4
} uv_timespec_t;
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
typedef struct {
Packit Service 7c31a4
  uint64_t st_dev;
Packit Service 7c31a4
  uint64_t st_mode;
Packit Service 7c31a4
  uint64_t st_nlink;
Packit Service 7c31a4
  uint64_t st_uid;
Packit Service 7c31a4
  uint64_t st_gid;
Packit Service 7c31a4
  uint64_t st_rdev;
Packit Service 7c31a4
  uint64_t st_ino;
Packit Service 7c31a4
  uint64_t st_size;
Packit Service 7c31a4
  uint64_t st_blksize;
Packit Service 7c31a4
  uint64_t st_blocks;
Packit Service 7c31a4
  uint64_t st_flags;
Packit Service 7c31a4
  uint64_t st_gen;
Packit Service 7c31a4
  uv_timespec_t st_atim;
Packit Service 7c31a4
  uv_timespec_t st_mtim;
Packit Service 7c31a4
  uv_timespec_t st_ctim;
Packit Service 7c31a4
  uv_timespec_t st_birthtim;
Packit Service 7c31a4
} uv_stat_t;
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
typedef void (*uv_fs_event_cb)(uv_fs_event_t* handle,
Packit Service 7c31a4
                               const char* filename,
Packit Service 7c31a4
                               int events,
Packit Service 7c31a4
                               int status);
Packit Service 7c31a4
Packit Service 7c31a4
typedef void (*uv_fs_poll_cb)(uv_fs_poll_t* handle,
Packit Service 7c31a4
                              int status,
Packit Service 7c31a4
                              const uv_stat_t* prev,
Packit Service 7c31a4
                              const uv_stat_t* curr);
Packit Service 7c31a4
Packit Service 7c31a4
typedef void (*uv_signal_cb)(uv_signal_t* handle, int signum);
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
typedef enum {
Packit Service 7c31a4
  UV_LEAVE_GROUP = 0,
Packit Service 7c31a4
  UV_JOIN_GROUP
Packit Service 7c31a4
} uv_membership;
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_translate_sys_error(int sys_errno);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN const char* uv_strerror(int err);
Packit Service 7c31a4
UV_EXTERN char* uv_strerror_r(int err, char* buf, size_t buflen);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN const char* uv_err_name(int err);
Packit Service 7c31a4
UV_EXTERN char* uv_err_name_r(int err, char* buf, size_t buflen);
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
#define UV_REQ_FIELDS                                                         \
Packit Service 7c31a4
  /* public */                                                                \
Packit Service 7c31a4
  void* data;                                                                 \
Packit Service 7c31a4
  /* read-only */                                                             \
Packit Service 7c31a4
  uv_req_type type;                                                           \
Packit Service 7c31a4
  /* private */                                                               \
Packit Service 7c31a4
  void* reserved[6];                                                          \
Packit Service 7c31a4
  UV_REQ_PRIVATE_FIELDS                                                       \
Packit Service 7c31a4
Packit Service 7c31a4
/* Abstract base class of all requests. */
Packit Service 7c31a4
struct uv_req_s {
Packit Service 7c31a4
  UV_REQ_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
/* Platform-specific request types. */
Packit Service 7c31a4
UV_PRIVATE_REQ_TYPES
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_shutdown(uv_shutdown_t* req,
Packit Service 7c31a4
                          uv_stream_t* handle,
Packit Service 7c31a4
                          uv_shutdown_cb cb);
Packit Service 7c31a4
Packit Service 7c31a4
struct uv_shutdown_s {
Packit Service 7c31a4
  UV_REQ_FIELDS
Packit Service 7c31a4
  uv_stream_t* handle;
Packit Service 7c31a4
  uv_shutdown_cb cb;
Packit Service 7c31a4
  UV_SHUTDOWN_PRIVATE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
#define UV_HANDLE_FIELDS                                                      \
Packit Service 7c31a4
  /* public */                                                                \
Packit Service 7c31a4
  void* data;                                                                 \
Packit Service 7c31a4
  /* read-only */                                                             \
Packit Service 7c31a4
  uv_loop_t* loop;                                                            \
Packit Service 7c31a4
  uv_handle_type type;                                                        \
Packit Service 7c31a4
  /* private */                                                               \
Packit Service 7c31a4
  uv_close_cb close_cb;                                                       \
Packit Service 7c31a4
  void* handle_queue[2];                                                      \
Packit Service 7c31a4
  union {                                                                     \
Packit Service 7c31a4
    int fd;                                                                   \
Packit Service 7c31a4
    void* reserved[4];                                                        \
Packit Service 7c31a4
  } u;                                                                        \
Packit Service 7c31a4
  UV_HANDLE_PRIVATE_FIELDS                                                    \
Packit Service 7c31a4
Packit Service 7c31a4
/* The abstract base class of all handles. */
Packit Service 7c31a4
struct uv_handle_s {
Packit Service 7c31a4
  UV_HANDLE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN size_t uv_handle_size(uv_handle_type type);
Packit Service 7c31a4
UV_EXTERN uv_handle_type uv_handle_get_type(const uv_handle_t* handle);
Packit Service 7c31a4
UV_EXTERN const char* uv_handle_type_name(uv_handle_type type);
Packit Service 7c31a4
UV_EXTERN void* uv_handle_get_data(const uv_handle_t* handle);
Packit Service 7c31a4
UV_EXTERN uv_loop_t* uv_handle_get_loop(const uv_handle_t* handle);
Packit Service 7c31a4
UV_EXTERN void uv_handle_set_data(uv_handle_t* handle, void* data);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN size_t uv_req_size(uv_req_type type);
Packit Service 7c31a4
UV_EXTERN void* uv_req_get_data(const uv_req_t* req);
Packit Service 7c31a4
UV_EXTERN void uv_req_set_data(uv_req_t* req, void* data);
Packit Service 7c31a4
UV_EXTERN uv_req_type uv_req_get_type(const uv_req_t* req);
Packit Service 7c31a4
UV_EXTERN const char* uv_req_type_name(uv_req_type type);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_is_active(const uv_handle_t* handle);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN void uv_walk(uv_loop_t* loop, uv_walk_cb walk_cb, void* arg);
Packit Service 7c31a4
Packit Service 7c31a4
/* Helpers for ad hoc debugging, no API/ABI stability guaranteed. */
Packit Service 7c31a4
UV_EXTERN void uv_print_all_handles(uv_loop_t* loop, FILE* stream);
Packit Service 7c31a4
UV_EXTERN void uv_print_active_handles(uv_loop_t* loop, FILE* stream);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN void uv_close(uv_handle_t* handle, uv_close_cb close_cb);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_send_buffer_size(uv_handle_t* handle, int* value);
Packit Service 7c31a4
UV_EXTERN int uv_recv_buffer_size(uv_handle_t* handle, int* value);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_fileno(const uv_handle_t* handle, uv_os_fd_t* fd);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN uv_buf_t uv_buf_init(char* base, unsigned int len);
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
#define UV_STREAM_FIELDS                                                      \
Packit Service 7c31a4
  /* number of bytes queued for writing */                                    \
Packit Service 7c31a4
  size_t write_queue_size;                                                    \
Packit Service 7c31a4
  uv_alloc_cb alloc_cb;                                                       \
Packit Service 7c31a4
  uv_read_cb read_cb;                                                         \
Packit Service 7c31a4
  /* private */                                                               \
Packit Service 7c31a4
  UV_STREAM_PRIVATE_FIELDS
Packit Service 7c31a4
Packit Service 7c31a4
/*
Packit Service 7c31a4
 * uv_stream_t is a subclass of uv_handle_t.
Packit Service 7c31a4
 *
Packit Service 7c31a4
 * uv_stream is an abstract class.
Packit Service 7c31a4
 *
Packit Service 7c31a4
 * uv_stream_t is the parent class of uv_tcp_t, uv_pipe_t and uv_tty_t.
Packit Service 7c31a4
 */
Packit Service 7c31a4
struct uv_stream_s {
Packit Service 7c31a4
  UV_HANDLE_FIELDS
Packit Service 7c31a4
  UV_STREAM_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN size_t uv_stream_get_write_queue_size(const uv_stream_t* stream);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_listen(uv_stream_t* stream, int backlog, uv_connection_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_accept(uv_stream_t* server, uv_stream_t* client);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_read_start(uv_stream_t*,
Packit Service 7c31a4
                            uv_alloc_cb alloc_cb,
Packit Service 7c31a4
                            uv_read_cb read_cb);
Packit Service 7c31a4
UV_EXTERN int uv_read_stop(uv_stream_t*);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_write(uv_write_t* req,
Packit Service 7c31a4
                       uv_stream_t* handle,
Packit Service 7c31a4
                       const uv_buf_t bufs[],
Packit Service 7c31a4
                       unsigned int nbufs,
Packit Service 7c31a4
                       uv_write_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_write2(uv_write_t* req,
Packit Service 7c31a4
                        uv_stream_t* handle,
Packit Service 7c31a4
                        const uv_buf_t bufs[],
Packit Service 7c31a4
                        unsigned int nbufs,
Packit Service 7c31a4
                        uv_stream_t* send_handle,
Packit Service 7c31a4
                        uv_write_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_try_write(uv_stream_t* handle,
Packit Service 7c31a4
                           const uv_buf_t bufs[],
Packit Service 7c31a4
                           unsigned int nbufs);
Packit Service 7c31a4
Packit Service 7c31a4
/* uv_write_t is a subclass of uv_req_t. */
Packit Service 7c31a4
struct uv_write_s {
Packit Service 7c31a4
  UV_REQ_FIELDS
Packit Service 7c31a4
  uv_write_cb cb;
Packit Service 7c31a4
  uv_stream_t* send_handle; /* TODO: make private and unix-only in v2.x. */
Packit Service 7c31a4
  uv_stream_t* handle;
Packit Service 7c31a4
  UV_WRITE_PRIVATE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_is_readable(const uv_stream_t* handle);
Packit Service 7c31a4
UV_EXTERN int uv_is_writable(const uv_stream_t* handle);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_stream_set_blocking(uv_stream_t* handle, int blocking);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_is_closing(const uv_handle_t* handle);
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
/*
Packit Service 7c31a4
 * uv_tcp_t is a subclass of uv_stream_t.
Packit Service 7c31a4
 *
Packit Service 7c31a4
 * Represents a TCP stream or TCP server.
Packit Service 7c31a4
 */
Packit Service 7c31a4
struct uv_tcp_s {
Packit Service 7c31a4
  UV_HANDLE_FIELDS
Packit Service 7c31a4
  UV_STREAM_FIELDS
Packit Service 7c31a4
  UV_TCP_PRIVATE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_tcp_init(uv_loop_t*, uv_tcp_t* handle);
Packit Service 7c31a4
UV_EXTERN int uv_tcp_init_ex(uv_loop_t*, uv_tcp_t* handle, unsigned int flags);
Packit Service 7c31a4
UV_EXTERN int uv_tcp_open(uv_tcp_t* handle, uv_os_sock_t sock);
Packit Service 7c31a4
UV_EXTERN int uv_tcp_nodelay(uv_tcp_t* handle, int enable);
Packit Service 7c31a4
UV_EXTERN int uv_tcp_keepalive(uv_tcp_t* handle,
Packit Service 7c31a4
                               int enable,
Packit Service 7c31a4
                               unsigned int delay);
Packit Service 7c31a4
UV_EXTERN int uv_tcp_simultaneous_accepts(uv_tcp_t* handle, int enable);
Packit Service 7c31a4
Packit Service 7c31a4
enum uv_tcp_flags {
Packit Service 7c31a4
  /* Used with uv_tcp_bind, when an IPv6 address is used. */
Packit Service 7c31a4
  UV_TCP_IPV6ONLY = 1
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_tcp_bind(uv_tcp_t* handle,
Packit Service 7c31a4
                          const struct sockaddr* addr,
Packit Service 7c31a4
                          unsigned int flags);
Packit Service 7c31a4
UV_EXTERN int uv_tcp_getsockname(const uv_tcp_t* handle,
Packit Service 7c31a4
                                 struct sockaddr* name,
Packit Service 7c31a4
                                 int* namelen);
Packit Service 7c31a4
UV_EXTERN int uv_tcp_getpeername(const uv_tcp_t* handle,
Packit Service 7c31a4
                                 struct sockaddr* name,
Packit Service 7c31a4
                                 int* namelen);
Packit Service 7c31a4
UV_EXTERN int uv_tcp_close_reset(uv_tcp_t* handle, uv_close_cb close_cb);
Packit Service 7c31a4
UV_EXTERN int uv_tcp_connect(uv_connect_t* req,
Packit Service 7c31a4
                             uv_tcp_t* handle,
Packit Service 7c31a4
                             const struct sockaddr* addr,
Packit Service 7c31a4
                             uv_connect_cb cb);
Packit Service 7c31a4
Packit Service 7c31a4
/* uv_connect_t is a subclass of uv_req_t. */
Packit Service 7c31a4
struct uv_connect_s {
Packit Service 7c31a4
  UV_REQ_FIELDS
Packit Service 7c31a4
  uv_connect_cb cb;
Packit Service 7c31a4
  uv_stream_t* handle;
Packit Service 7c31a4
  UV_CONNECT_PRIVATE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
/*
Packit Service 7c31a4
 * UDP support.
Packit Service 7c31a4
 */
Packit Service 7c31a4
Packit Service 7c31a4
enum uv_udp_flags {
Packit Service 7c31a4
  /* Disables dual stack mode. */
Packit Service 7c31a4
  UV_UDP_IPV6ONLY = 1,
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * Indicates message was truncated because read buffer was too small. The
Packit Service 7c31a4
   * remainder was discarded by the OS. Used in uv_udp_recv_cb.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  UV_UDP_PARTIAL = 2,
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * Indicates if SO_REUSEADDR will be set when binding the handle.
Packit Service 7c31a4
   * This sets the SO_REUSEPORT socket flag on the BSDs and OS X. On other
Packit Service 7c31a4
   * Unix platforms, it sets the SO_REUSEADDR flag.  What that means is that
Packit Service 7c31a4
   * multiple threads or processes can bind to the same address without error
Packit Service 7c31a4
   * (provided they all set the flag) but only the last one to bind will receive
Packit Service 7c31a4
   * any traffic, in effect "stealing" the port from the previous listener.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  UV_UDP_REUSEADDR = 4,
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * Indicates that the message was received by recvmmsg, so the buffer provided
Packit Service 7c31a4
   * must not be freed by the recv_cb callback.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  UV_UDP_MMSG_CHUNK = 8,
Packit Service e2ebee
  /*
Packit Service e2ebee
   * Indicates that the buffer provided has been fully utilized by recvmmsg and
Packit Service e2ebee
   * that it should now be freed by the recv_cb callback. When this flag is set
Packit Service e2ebee
   * in uv_udp_recv_cb, nread will always be 0 and addr will always be NULL.
Packit Service e2ebee
   */
Packit Service e2ebee
  UV_UDP_MMSG_FREE = 16,
Packit Service 7c31a4
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * Indicates that recvmmsg should be used, if available.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  UV_UDP_RECVMMSG = 256
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
typedef void (*uv_udp_send_cb)(uv_udp_send_t* req, int status);
Packit Service 7c31a4
typedef void (*uv_udp_recv_cb)(uv_udp_t* handle,
Packit Service 7c31a4
                               ssize_t nread,
Packit Service 7c31a4
                               const uv_buf_t* buf,
Packit Service 7c31a4
                               const struct sockaddr* addr,
Packit Service 7c31a4
                               unsigned flags);
Packit Service 7c31a4
Packit Service 7c31a4
/* uv_udp_t is a subclass of uv_handle_t. */
Packit Service 7c31a4
struct uv_udp_s {
Packit Service 7c31a4
  UV_HANDLE_FIELDS
Packit Service 7c31a4
  /* read-only */
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * Number of bytes queued for sending. This field strictly shows how much
Packit Service 7c31a4
   * information is currently queued.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  size_t send_queue_size;
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * Number of send requests currently in the queue awaiting to be processed.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  size_t send_queue_count;
Packit Service 7c31a4
  UV_UDP_PRIVATE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
/* uv_udp_send_t is a subclass of uv_req_t. */
Packit Service 7c31a4
struct uv_udp_send_s {
Packit Service 7c31a4
  UV_REQ_FIELDS
Packit Service 7c31a4
  uv_udp_t* handle;
Packit Service 7c31a4
  uv_udp_send_cb cb;
Packit Service 7c31a4
  UV_UDP_SEND_PRIVATE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_udp_init(uv_loop_t*, uv_udp_t* handle);
Packit Service 7c31a4
UV_EXTERN int uv_udp_init_ex(uv_loop_t*, uv_udp_t* handle, unsigned int flags);
Packit Service 7c31a4
UV_EXTERN int uv_udp_open(uv_udp_t* handle, uv_os_sock_t sock);
Packit Service 7c31a4
UV_EXTERN int uv_udp_bind(uv_udp_t* handle,
Packit Service 7c31a4
                          const struct sockaddr* addr,
Packit Service 7c31a4
                          unsigned int flags);
Packit Service 7c31a4
UV_EXTERN int uv_udp_connect(uv_udp_t* handle, const struct sockaddr* addr);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_udp_getpeername(const uv_udp_t* handle,
Packit Service 7c31a4
                                 struct sockaddr* name,
Packit Service 7c31a4
                                 int* namelen);
Packit Service 7c31a4
UV_EXTERN int uv_udp_getsockname(const uv_udp_t* handle,
Packit Service 7c31a4
                                 struct sockaddr* name,
Packit Service 7c31a4
                                 int* namelen);
Packit Service 7c31a4
UV_EXTERN int uv_udp_set_membership(uv_udp_t* handle,
Packit Service 7c31a4
                                    const char* multicast_addr,
Packit Service 7c31a4
                                    const char* interface_addr,
Packit Service 7c31a4
                                    uv_membership membership);
Packit Service 7c31a4
UV_EXTERN int uv_udp_set_source_membership(uv_udp_t* handle,
Packit Service 7c31a4
                                           const char* multicast_addr,
Packit Service 7c31a4
                                           const char* interface_addr,
Packit Service 7c31a4
                                           const char* source_addr,
Packit Service 7c31a4
                                           uv_membership membership);
Packit Service 7c31a4
UV_EXTERN int uv_udp_set_multicast_loop(uv_udp_t* handle, int on);
Packit Service 7c31a4
UV_EXTERN int uv_udp_set_multicast_ttl(uv_udp_t* handle, int ttl);
Packit Service 7c31a4
UV_EXTERN int uv_udp_set_multicast_interface(uv_udp_t* handle,
Packit Service 7c31a4
                                             const char* interface_addr);
Packit Service 7c31a4
UV_EXTERN int uv_udp_set_broadcast(uv_udp_t* handle, int on);
Packit Service 7c31a4
UV_EXTERN int uv_udp_set_ttl(uv_udp_t* handle, int ttl);
Packit Service 7c31a4
UV_EXTERN int uv_udp_send(uv_udp_send_t* req,
Packit Service 7c31a4
                          uv_udp_t* handle,
Packit Service 7c31a4
                          const uv_buf_t bufs[],
Packit Service 7c31a4
                          unsigned int nbufs,
Packit Service 7c31a4
                          const struct sockaddr* addr,
Packit Service 7c31a4
                          uv_udp_send_cb send_cb);
Packit Service 7c31a4
UV_EXTERN int uv_udp_try_send(uv_udp_t* handle,
Packit Service 7c31a4
                              const uv_buf_t bufs[],
Packit Service 7c31a4
                              unsigned int nbufs,
Packit Service 7c31a4
                              const struct sockaddr* addr);
Packit Service 7c31a4
UV_EXTERN int uv_udp_recv_start(uv_udp_t* handle,
Packit Service 7c31a4
                                uv_alloc_cb alloc_cb,
Packit Service 7c31a4
                                uv_udp_recv_cb recv_cb);
Packit Service e2ebee
UV_EXTERN int uv_udp_using_recvmmsg(const uv_udp_t* handle);
Packit Service 7c31a4
UV_EXTERN int uv_udp_recv_stop(uv_udp_t* handle);
Packit Service 7c31a4
UV_EXTERN size_t uv_udp_get_send_queue_size(const uv_udp_t* handle);
Packit Service 7c31a4
UV_EXTERN size_t uv_udp_get_send_queue_count(const uv_udp_t* handle);
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
/*
Packit Service 7c31a4
 * uv_tty_t is a subclass of uv_stream_t.
Packit Service 7c31a4
 *
Packit Service 7c31a4
 * Representing a stream for the console.
Packit Service 7c31a4
 */
Packit Service 7c31a4
struct uv_tty_s {
Packit Service 7c31a4
  UV_HANDLE_FIELDS
Packit Service 7c31a4
  UV_STREAM_FIELDS
Packit Service 7c31a4
  UV_TTY_PRIVATE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
typedef enum {
Packit Service 7c31a4
  /* Initial/normal terminal mode */
Packit Service 7c31a4
  UV_TTY_MODE_NORMAL,
Packit Service 7c31a4
  /* Raw input mode (On Windows, ENABLE_WINDOW_INPUT is also enabled) */
Packit Service 7c31a4
  UV_TTY_MODE_RAW,
Packit Service 7c31a4
  /* Binary-safe I/O mode for IPC (Unix-only) */
Packit Service 7c31a4
  UV_TTY_MODE_IO
Packit Service 7c31a4
} uv_tty_mode_t;
Packit Service 7c31a4
Packit Service 7c31a4
typedef enum {
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * The console supports handling of virtual terminal sequences
Packit Service 7c31a4
   * (Windows10 new console, ConEmu)
Packit Service 7c31a4
   */
Packit Service 7c31a4
  UV_TTY_SUPPORTED,
Packit Service 7c31a4
  /* The console cannot process the virtual terminal sequence.  (Legacy
Packit Service 7c31a4
   * console)
Packit Service 7c31a4
   */
Packit Service 7c31a4
  UV_TTY_UNSUPPORTED
Packit Service 7c31a4
} uv_tty_vtermstate_t;
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_tty_init(uv_loop_t*, uv_tty_t*, uv_file fd, int readable);
Packit Service 7c31a4
UV_EXTERN int uv_tty_set_mode(uv_tty_t*, uv_tty_mode_t mode);
Packit Service 7c31a4
UV_EXTERN int uv_tty_reset_mode(void);
Packit Service 7c31a4
UV_EXTERN int uv_tty_get_winsize(uv_tty_t*, int* width, int* height);
Packit Service 7c31a4
UV_EXTERN void uv_tty_set_vterm_state(uv_tty_vtermstate_t state);
Packit Service 7c31a4
UV_EXTERN int uv_tty_get_vterm_state(uv_tty_vtermstate_t* state);
Packit Service 7c31a4
Packit Service 7c31a4
#ifdef __cplusplus
Packit Service 7c31a4
extern "C++" {
Packit Service 7c31a4
Packit Service 7c31a4
inline int uv_tty_set_mode(uv_tty_t* handle, int mode) {
Packit Service 7c31a4
  return uv_tty_set_mode(handle, static_cast<uv_tty_mode_t>(mode));
Packit Service 7c31a4
}
Packit Service 7c31a4
Packit Service 7c31a4
}
Packit Service 7c31a4
#endif
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN uv_handle_type uv_guess_handle(uv_file file);
Packit Service 7c31a4
Packit Service 7c31a4
/*
Packit Service 7c31a4
 * uv_pipe_t is a subclass of uv_stream_t.
Packit Service 7c31a4
 *
Packit Service 7c31a4
 * Representing a pipe stream or pipe server. On Windows this is a Named
Packit Service 7c31a4
 * Pipe. On Unix this is a Unix domain socket.
Packit Service 7c31a4
 */
Packit Service 7c31a4
struct uv_pipe_s {
Packit Service 7c31a4
  UV_HANDLE_FIELDS
Packit Service 7c31a4
  UV_STREAM_FIELDS
Packit Service 7c31a4
  int ipc; /* non-zero if this pipe is used for passing handles */
Packit Service 7c31a4
  UV_PIPE_PRIVATE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_pipe_init(uv_loop_t*, uv_pipe_t* handle, int ipc);
Packit Service 7c31a4
UV_EXTERN int uv_pipe_open(uv_pipe_t*, uv_file file);
Packit Service 7c31a4
UV_EXTERN int uv_pipe_bind(uv_pipe_t* handle, const char* name);
Packit Service 7c31a4
UV_EXTERN void uv_pipe_connect(uv_connect_t* req,
Packit Service 7c31a4
                               uv_pipe_t* handle,
Packit Service 7c31a4
                               const char* name,
Packit Service 7c31a4
                               uv_connect_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_pipe_getsockname(const uv_pipe_t* handle,
Packit Service 7c31a4
                                  char* buffer,
Packit Service 7c31a4
                                  size_t* size);
Packit Service 7c31a4
UV_EXTERN int uv_pipe_getpeername(const uv_pipe_t* handle,
Packit Service 7c31a4
                                  char* buffer,
Packit Service 7c31a4
                                  size_t* size);
Packit Service 7c31a4
UV_EXTERN void uv_pipe_pending_instances(uv_pipe_t* handle, int count);
Packit Service 7c31a4
UV_EXTERN int uv_pipe_pending_count(uv_pipe_t* handle);
Packit Service 7c31a4
UV_EXTERN uv_handle_type uv_pipe_pending_type(uv_pipe_t* handle);
Packit Service 7c31a4
UV_EXTERN int uv_pipe_chmod(uv_pipe_t* handle, int flags);
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
struct uv_poll_s {
Packit Service 7c31a4
  UV_HANDLE_FIELDS
Packit Service 7c31a4
  uv_poll_cb poll_cb;
Packit Service 7c31a4
  UV_POLL_PRIVATE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
enum uv_poll_event {
Packit Service 7c31a4
  UV_READABLE = 1,
Packit Service 7c31a4
  UV_WRITABLE = 2,
Packit Service 7c31a4
  UV_DISCONNECT = 4,
Packit Service 7c31a4
  UV_PRIORITIZED = 8
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_poll_init(uv_loop_t* loop, uv_poll_t* handle, int fd);
Packit Service 7c31a4
UV_EXTERN int uv_poll_init_socket(uv_loop_t* loop,
Packit Service 7c31a4
                                  uv_poll_t* handle,
Packit Service 7c31a4
                                  uv_os_sock_t socket);
Packit Service 7c31a4
UV_EXTERN int uv_poll_start(uv_poll_t* handle, int events, uv_poll_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_poll_stop(uv_poll_t* handle);
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
struct uv_prepare_s {
Packit Service 7c31a4
  UV_HANDLE_FIELDS
Packit Service 7c31a4
  UV_PREPARE_PRIVATE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_prepare_init(uv_loop_t*, uv_prepare_t* prepare);
Packit Service 7c31a4
UV_EXTERN int uv_prepare_start(uv_prepare_t* prepare, uv_prepare_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_prepare_stop(uv_prepare_t* prepare);
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
struct uv_check_s {
Packit Service 7c31a4
  UV_HANDLE_FIELDS
Packit Service 7c31a4
  UV_CHECK_PRIVATE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_check_init(uv_loop_t*, uv_check_t* check);
Packit Service 7c31a4
UV_EXTERN int uv_check_start(uv_check_t* check, uv_check_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_check_stop(uv_check_t* check);
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
struct uv_idle_s {
Packit Service 7c31a4
  UV_HANDLE_FIELDS
Packit Service 7c31a4
  UV_IDLE_PRIVATE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_idle_init(uv_loop_t*, uv_idle_t* idle);
Packit Service 7c31a4
UV_EXTERN int uv_idle_start(uv_idle_t* idle, uv_idle_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_idle_stop(uv_idle_t* idle);
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
struct uv_async_s {
Packit Service 7c31a4
  UV_HANDLE_FIELDS
Packit Service 7c31a4
  UV_ASYNC_PRIVATE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_async_init(uv_loop_t*,
Packit Service 7c31a4
                            uv_async_t* async,
Packit Service 7c31a4
                            uv_async_cb async_cb);
Packit Service 7c31a4
UV_EXTERN int uv_async_send(uv_async_t* async);
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
/*
Packit Service 7c31a4
 * uv_timer_t is a subclass of uv_handle_t.
Packit Service 7c31a4
 *
Packit Service 7c31a4
 * Used to get woken up at a specified time in the future.
Packit Service 7c31a4
 */
Packit Service 7c31a4
struct uv_timer_s {
Packit Service 7c31a4
  UV_HANDLE_FIELDS
Packit Service 7c31a4
  UV_TIMER_PRIVATE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_timer_init(uv_loop_t*, uv_timer_t* handle);
Packit Service 7c31a4
UV_EXTERN int uv_timer_start(uv_timer_t* handle,
Packit Service 7c31a4
                             uv_timer_cb cb,
Packit Service 7c31a4
                             uint64_t timeout,
Packit Service 7c31a4
                             uint64_t repeat);
Packit Service 7c31a4
UV_EXTERN int uv_timer_stop(uv_timer_t* handle);
Packit Service 7c31a4
UV_EXTERN int uv_timer_again(uv_timer_t* handle);
Packit Service 7c31a4
UV_EXTERN void uv_timer_set_repeat(uv_timer_t* handle, uint64_t repeat);
Packit Service 7c31a4
UV_EXTERN uint64_t uv_timer_get_repeat(const uv_timer_t* handle);
Packit Service e2ebee
UV_EXTERN uint64_t uv_timer_get_due_in(const uv_timer_t* handle);
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
/*
Packit Service 7c31a4
 * uv_getaddrinfo_t is a subclass of uv_req_t.
Packit Service 7c31a4
 *
Packit Service 7c31a4
 * Request object for uv_getaddrinfo.
Packit Service 7c31a4
 */
Packit Service 7c31a4
struct uv_getaddrinfo_s {
Packit Service 7c31a4
  UV_REQ_FIELDS
Packit Service 7c31a4
  /* read-only */
Packit Service 7c31a4
  uv_loop_t* loop;
Packit Service 7c31a4
  /* struct addrinfo* addrinfo is marked as private, but it really isn't. */
Packit Service 7c31a4
  UV_GETADDRINFO_PRIVATE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_getaddrinfo(uv_loop_t* loop,
Packit Service 7c31a4
                             uv_getaddrinfo_t* req,
Packit Service 7c31a4
                             uv_getaddrinfo_cb getaddrinfo_cb,
Packit Service 7c31a4
                             const char* node,
Packit Service 7c31a4
                             const char* service,
Packit Service 7c31a4
                             const struct addrinfo* hints);
Packit Service 7c31a4
UV_EXTERN void uv_freeaddrinfo(struct addrinfo* ai);
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
/*
Packit Service 7c31a4
* uv_getnameinfo_t is a subclass of uv_req_t.
Packit Service 7c31a4
*
Packit Service 7c31a4
* Request object for uv_getnameinfo.
Packit Service 7c31a4
*/
Packit Service 7c31a4
struct uv_getnameinfo_s {
Packit Service 7c31a4
  UV_REQ_FIELDS
Packit Service 7c31a4
  /* read-only */
Packit Service 7c31a4
  uv_loop_t* loop;
Packit Service 7c31a4
  /* host and service are marked as private, but they really aren't. */
Packit Service 7c31a4
  UV_GETNAMEINFO_PRIVATE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_getnameinfo(uv_loop_t* loop,
Packit Service 7c31a4
                             uv_getnameinfo_t* req,
Packit Service 7c31a4
                             uv_getnameinfo_cb getnameinfo_cb,
Packit Service 7c31a4
                             const struct sockaddr* addr,
Packit Service 7c31a4
                             int flags);
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
/* uv_spawn() options. */
Packit Service 7c31a4
typedef enum {
Packit Service 7c31a4
  UV_IGNORE         = 0x00,
Packit Service 7c31a4
  UV_CREATE_PIPE    = 0x01,
Packit Service 7c31a4
  UV_INHERIT_FD     = 0x02,
Packit Service 7c31a4
  UV_INHERIT_STREAM = 0x04,
Packit Service 7c31a4
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * When UV_CREATE_PIPE is specified, UV_READABLE_PIPE and UV_WRITABLE_PIPE
Packit Service 7c31a4
   * determine the direction of flow, from the child process' perspective. Both
Packit Service 7c31a4
   * flags may be specified to create a duplex data stream.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  UV_READABLE_PIPE  = 0x10,
Packit Service 7c31a4
  UV_WRITABLE_PIPE  = 0x20,
Packit Service 7c31a4
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * Open the child pipe handle in overlapped mode on Windows.
Packit Service 7c31a4
   * On Unix it is silently ignored.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  UV_OVERLAPPED_PIPE = 0x40
Packit Service 7c31a4
} uv_stdio_flags;
Packit Service 7c31a4
Packit Service 7c31a4
typedef struct uv_stdio_container_s {
Packit Service 7c31a4
  uv_stdio_flags flags;
Packit Service 7c31a4
Packit Service 7c31a4
  union {
Packit Service 7c31a4
    uv_stream_t* stream;
Packit Service 7c31a4
    int fd;
Packit Service 7c31a4
  } data;
Packit Service 7c31a4
} uv_stdio_container_t;
Packit Service 7c31a4
Packit Service 7c31a4
typedef struct uv_process_options_s {
Packit Service 7c31a4
  uv_exit_cb exit_cb; /* Called after the process exits. */
Packit Service 7c31a4
  const char* file;   /* Path to program to execute. */
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * Command line arguments. args[0] should be the path to the program. On
Packit Service 7c31a4
   * Windows this uses CreateProcess which concatenates the arguments into a
Packit Service 7c31a4
   * string this can cause some strange errors. See the note at
Packit Service 7c31a4
   * windows_verbatim_arguments.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  char** args;
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * This will be set as the environ variable in the subprocess. If this is
Packit Service 7c31a4
   * NULL then the parents environ will be used.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  char** env;
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * If non-null this represents a directory the subprocess should execute
Packit Service 7c31a4
   * in. Stands for current working directory.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  const char* cwd;
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * Various flags that control how uv_spawn() behaves. See the definition of
Packit Service 7c31a4
   * `enum uv_process_flags` below.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  unsigned int flags;
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * The `stdio` field points to an array of uv_stdio_container_t structs that
Packit Service 7c31a4
   * describe the file descriptors that will be made available to the child
Packit Service 7c31a4
   * process. The convention is that stdio[0] points to stdin, fd 1 is used for
Packit Service 7c31a4
   * stdout, and fd 2 is stderr.
Packit Service 7c31a4
   *
Packit Service 7c31a4
   * Note that on windows file descriptors greater than 2 are available to the
Packit Service 7c31a4
   * child process only if the child processes uses the MSVCRT runtime.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  int stdio_count;
Packit Service 7c31a4
  uv_stdio_container_t* stdio;
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * Libuv can change the child process' user/group id. This happens only when
Packit Service 7c31a4
   * the appropriate bits are set in the flags fields. This is not supported on
Packit Service 7c31a4
   * windows; uv_spawn() will fail and set the error to UV_ENOTSUP.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  uv_uid_t uid;
Packit Service 7c31a4
  uv_gid_t gid;
Packit Service 7c31a4
} uv_process_options_t;
Packit Service 7c31a4
Packit Service 7c31a4
/*
Packit Service 7c31a4
 * These are the flags that can be used for the uv_process_options.flags field.
Packit Service 7c31a4
 */
Packit Service 7c31a4
enum uv_process_flags {
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * Set the child process' user id. The user id is supplied in the `uid` field
Packit Service 7c31a4
   * of the options struct. This does not work on windows; setting this flag
Packit Service 7c31a4
   * will cause uv_spawn() to fail.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  UV_PROCESS_SETUID = (1 << 0),
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * Set the child process' group id. The user id is supplied in the `gid`
Packit Service 7c31a4
   * field of the options struct. This does not work on windows; setting this
Packit Service 7c31a4
   * flag will cause uv_spawn() to fail.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  UV_PROCESS_SETGID = (1 << 1),
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * Do not wrap any arguments in quotes, or perform any other escaping, when
Packit Service 7c31a4
   * converting the argument list into a command line string. This option is
Packit Service 7c31a4
   * only meaningful on Windows systems. On Unix it is silently ignored.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  UV_PROCESS_WINDOWS_VERBATIM_ARGUMENTS = (1 << 2),
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * Spawn the child process in a detached state - this will make it a process
Packit Service 7c31a4
   * group leader, and will effectively enable the child to keep running after
Packit Service 7c31a4
   * the parent exits.  Note that the child process will still keep the
Packit Service 7c31a4
   * parent's event loop alive unless the parent process calls uv_unref() on
Packit Service 7c31a4
   * the child's process handle.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  UV_PROCESS_DETACHED = (1 << 3),
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * Hide the subprocess window that would normally be created. This option is
Packit Service 7c31a4
   * only meaningful on Windows systems. On Unix it is silently ignored.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  UV_PROCESS_WINDOWS_HIDE = (1 << 4),
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * Hide the subprocess console window that would normally be created. This
Packit Service 7c31a4
   * option is only meaningful on Windows systems. On Unix it is silently
Packit Service 7c31a4
   * ignored.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  UV_PROCESS_WINDOWS_HIDE_CONSOLE = (1 << 5),
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * Hide the subprocess GUI window that would normally be created. This
Packit Service 7c31a4
   * option is only meaningful on Windows systems. On Unix it is silently
Packit Service 7c31a4
   * ignored.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  UV_PROCESS_WINDOWS_HIDE_GUI = (1 << 6)
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
/*
Packit Service 7c31a4
 * uv_process_t is a subclass of uv_handle_t.
Packit Service 7c31a4
 */
Packit Service 7c31a4
struct uv_process_s {
Packit Service 7c31a4
  UV_HANDLE_FIELDS
Packit Service 7c31a4
  uv_exit_cb exit_cb;
Packit Service 7c31a4
  int pid;
Packit Service 7c31a4
  UV_PROCESS_PRIVATE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_spawn(uv_loop_t* loop,
Packit Service 7c31a4
                       uv_process_t* handle,
Packit Service 7c31a4
                       const uv_process_options_t* options);
Packit Service 7c31a4
UV_EXTERN int uv_process_kill(uv_process_t*, int signum);
Packit Service 7c31a4
UV_EXTERN int uv_kill(int pid, int signum);
Packit Service 7c31a4
UV_EXTERN uv_pid_t uv_process_get_pid(const uv_process_t*);
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
/*
Packit Service 7c31a4
 * uv_work_t is a subclass of uv_req_t.
Packit Service 7c31a4
 */
Packit Service 7c31a4
struct uv_work_s {
Packit Service 7c31a4
  UV_REQ_FIELDS
Packit Service 7c31a4
  uv_loop_t* loop;
Packit Service 7c31a4
  uv_work_cb work_cb;
Packit Service 7c31a4
  uv_after_work_cb after_work_cb;
Packit Service 7c31a4
  UV_WORK_PRIVATE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_queue_work(uv_loop_t* loop,
Packit Service 7c31a4
                            uv_work_t* req,
Packit Service 7c31a4
                            uv_work_cb work_cb,
Packit Service 7c31a4
                            uv_after_work_cb after_work_cb);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_cancel(uv_req_t* req);
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
struct uv_cpu_times_s {
Packit Service 7c31a4
  uint64_t user; /* milliseconds */
Packit Service 7c31a4
  uint64_t nice; /* milliseconds */
Packit Service 7c31a4
  uint64_t sys; /* milliseconds */
Packit Service 7c31a4
  uint64_t idle; /* milliseconds */
Packit Service 7c31a4
  uint64_t irq; /* milliseconds */
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
struct uv_cpu_info_s {
Packit Service 7c31a4
  char* model;
Packit Service 7c31a4
  int speed;
Packit Service 7c31a4
  struct uv_cpu_times_s cpu_times;
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
struct uv_interface_address_s {
Packit Service 7c31a4
  char* name;
Packit Service 7c31a4
  char phys_addr[6];
Packit Service 7c31a4
  int is_internal;
Packit Service 7c31a4
  union {
Packit Service 7c31a4
    struct sockaddr_in address4;
Packit Service 7c31a4
    struct sockaddr_in6 address6;
Packit Service 7c31a4
  } address;
Packit Service 7c31a4
  union {
Packit Service 7c31a4
    struct sockaddr_in netmask4;
Packit Service 7c31a4
    struct sockaddr_in6 netmask6;
Packit Service 7c31a4
  } netmask;
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
struct uv_passwd_s {
Packit Service 7c31a4
  char* username;
Packit Service 7c31a4
  long uid;
Packit Service 7c31a4
  long gid;
Packit Service 7c31a4
  char* shell;
Packit Service 7c31a4
  char* homedir;
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
struct uv_utsname_s {
Packit Service 7c31a4
  char sysname[256];
Packit Service 7c31a4
  char release[256];
Packit Service 7c31a4
  char version[256];
Packit Service 7c31a4
  char machine[256];
Packit Service 7c31a4
  /* This struct does not contain the nodename and domainname fields present in
Packit Service 7c31a4
     the utsname type. domainname is a GNU extension. Both fields are referred
Packit Service 7c31a4
     to as meaningless in the docs. */
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
struct uv_statfs_s {
Packit Service 7c31a4
  uint64_t f_type;
Packit Service 7c31a4
  uint64_t f_bsize;
Packit Service 7c31a4
  uint64_t f_blocks;
Packit Service 7c31a4
  uint64_t f_bfree;
Packit Service 7c31a4
  uint64_t f_bavail;
Packit Service 7c31a4
  uint64_t f_files;
Packit Service 7c31a4
  uint64_t f_ffree;
Packit Service 7c31a4
  uint64_t f_spare[4];
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
typedef enum {
Packit Service 7c31a4
  UV_DIRENT_UNKNOWN,
Packit Service 7c31a4
  UV_DIRENT_FILE,
Packit Service 7c31a4
  UV_DIRENT_DIR,
Packit Service 7c31a4
  UV_DIRENT_LINK,
Packit Service 7c31a4
  UV_DIRENT_FIFO,
Packit Service 7c31a4
  UV_DIRENT_SOCKET,
Packit Service 7c31a4
  UV_DIRENT_CHAR,
Packit Service 7c31a4
  UV_DIRENT_BLOCK
Packit Service 7c31a4
} uv_dirent_type_t;
Packit Service 7c31a4
Packit Service 7c31a4
struct uv_dirent_s {
Packit Service 7c31a4
  const char* name;
Packit Service 7c31a4
  uv_dirent_type_t type;
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN char** uv_setup_args(int argc, char** argv);
Packit Service 7c31a4
UV_EXTERN int uv_get_process_title(char* buffer, size_t size);
Packit Service 7c31a4
UV_EXTERN int uv_set_process_title(const char* title);
Packit Service 7c31a4
UV_EXTERN int uv_resident_set_memory(size_t* rss);
Packit Service 7c31a4
UV_EXTERN int uv_uptime(double* uptime);
Packit Service 7c31a4
UV_EXTERN uv_os_fd_t uv_get_osfhandle(int fd);
Packit Service 7c31a4
UV_EXTERN int uv_open_osfhandle(uv_os_fd_t os_fd);
Packit Service 7c31a4
Packit Service 7c31a4
typedef struct {
Packit Service 7c31a4
  long tv_sec;
Packit Service 7c31a4
  long tv_usec;
Packit Service 7c31a4
} uv_timeval_t;
Packit Service 7c31a4
Packit Service 7c31a4
typedef struct {
Packit Service 7c31a4
  int64_t tv_sec;
Packit Service 7c31a4
  int32_t tv_usec;
Packit Service 7c31a4
} uv_timeval64_t;
Packit Service 7c31a4
Packit Service 7c31a4
typedef struct {
Packit Service 7c31a4
   uv_timeval_t ru_utime; /* user CPU time used */
Packit Service 7c31a4
   uv_timeval_t ru_stime; /* system CPU time used */
Packit Service 7c31a4
   uint64_t ru_maxrss;    /* maximum resident set size */
Packit Service 7c31a4
   uint64_t ru_ixrss;     /* integral shared memory size */
Packit Service 7c31a4
   uint64_t ru_idrss;     /* integral unshared data size */
Packit Service 7c31a4
   uint64_t ru_isrss;     /* integral unshared stack size */
Packit Service 7c31a4
   uint64_t ru_minflt;    /* page reclaims (soft page faults) */
Packit Service 7c31a4
   uint64_t ru_majflt;    /* page faults (hard page faults) */
Packit Service 7c31a4
   uint64_t ru_nswap;     /* swaps */
Packit Service 7c31a4
   uint64_t ru_inblock;   /* block input operations */
Packit Service 7c31a4
   uint64_t ru_oublock;   /* block output operations */
Packit Service 7c31a4
   uint64_t ru_msgsnd;    /* IPC messages sent */
Packit Service 7c31a4
   uint64_t ru_msgrcv;    /* IPC messages received */
Packit Service 7c31a4
   uint64_t ru_nsignals;  /* signals received */
Packit Service 7c31a4
   uint64_t ru_nvcsw;     /* voluntary context switches */
Packit Service 7c31a4
   uint64_t ru_nivcsw;    /* involuntary context switches */
Packit Service 7c31a4
} uv_rusage_t;
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_getrusage(uv_rusage_t* rusage);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_os_homedir(char* buffer, size_t* size);
Packit Service 7c31a4
UV_EXTERN int uv_os_tmpdir(char* buffer, size_t* size);
Packit Service 7c31a4
UV_EXTERN int uv_os_get_passwd(uv_passwd_t* pwd);
Packit Service 7c31a4
UV_EXTERN void uv_os_free_passwd(uv_passwd_t* pwd);
Packit Service 7c31a4
UV_EXTERN uv_pid_t uv_os_getpid(void);
Packit Service 7c31a4
UV_EXTERN uv_pid_t uv_os_getppid(void);
Packit Service 7c31a4
Packit Service 7c31a4
#if defined(__PASE__)
Packit Service 7c31a4
/* On IBM i PASE, the highest process priority is -10 */
Packit Service e2ebee
# define UV_PRIORITY_LOW 39          /* RUNPTY(99) */
Packit Service e2ebee
# define UV_PRIORITY_BELOW_NORMAL 15 /* RUNPTY(50) */
Packit Service e2ebee
# define UV_PRIORITY_NORMAL 0        /* RUNPTY(20) */
Packit Service e2ebee
# define UV_PRIORITY_ABOVE_NORMAL -4 /* RUNTY(12) */
Packit Service e2ebee
# define UV_PRIORITY_HIGH -7         /* RUNPTY(6) */
Packit Service e2ebee
# define UV_PRIORITY_HIGHEST -10     /* RUNPTY(1) */
Packit Service 7c31a4
#else
Packit Service 7c31a4
# define UV_PRIORITY_LOW 19
Packit Service 7c31a4
# define UV_PRIORITY_BELOW_NORMAL 10
Packit Service 7c31a4
# define UV_PRIORITY_NORMAL 0
Packit Service 7c31a4
# define UV_PRIORITY_ABOVE_NORMAL -7
Packit Service 7c31a4
# define UV_PRIORITY_HIGH -14
Packit Service 7c31a4
# define UV_PRIORITY_HIGHEST -20
Packit Service 7c31a4
#endif
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_os_getpriority(uv_pid_t pid, int* priority);
Packit Service 7c31a4
UV_EXTERN int uv_os_setpriority(uv_pid_t pid, int priority);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count);
Packit Service 7c31a4
UV_EXTERN void uv_free_cpu_info(uv_cpu_info_t* cpu_infos, int count);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_interface_addresses(uv_interface_address_t** addresses,
Packit Service 7c31a4
                                     int* count);
Packit Service 7c31a4
UV_EXTERN void uv_free_interface_addresses(uv_interface_address_t* addresses,
Packit Service 7c31a4
                                           int count);
Packit Service 7c31a4
Packit Service 7c31a4
struct uv_env_item_s {
Packit Service 7c31a4
  char* name;
Packit Service 7c31a4
  char* value;
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_os_environ(uv_env_item_t** envitems, int* count);
Packit Service 7c31a4
UV_EXTERN void uv_os_free_environ(uv_env_item_t* envitems, int count);
Packit Service 7c31a4
UV_EXTERN int uv_os_getenv(const char* name, char* buffer, size_t* size);
Packit Service 7c31a4
UV_EXTERN int uv_os_setenv(const char* name, const char* value);
Packit Service 7c31a4
UV_EXTERN int uv_os_unsetenv(const char* name);
Packit Service 7c31a4
Packit Service 7c31a4
#ifdef MAXHOSTNAMELEN
Packit Service 7c31a4
# define UV_MAXHOSTNAMESIZE (MAXHOSTNAMELEN + 1)
Packit Service 7c31a4
#else
Packit Service 7c31a4
  /*
Packit Service 7c31a4
    Fallback for the maximum hostname size, including the null terminator. The
Packit Service 7c31a4
    Windows gethostname() documentation states that 256 bytes will always be
Packit Service 7c31a4
    large enough to hold the null-terminated hostname.
Packit Service 7c31a4
  */
Packit Service 7c31a4
# define UV_MAXHOSTNAMESIZE 256
Packit Service 7c31a4
#endif
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_os_gethostname(char* buffer, size_t* size);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_os_uname(uv_utsname_t* buffer);
Packit Service 7c31a4
Packit Service e2ebee
UV_EXTERN uint64_t uv_metrics_idle_time(uv_loop_t* loop);
Packit Service 7c31a4
Packit Service 7c31a4
typedef enum {
Packit Service 7c31a4
  UV_FS_UNKNOWN = -1,
Packit Service 7c31a4
  UV_FS_CUSTOM,
Packit Service 7c31a4
  UV_FS_OPEN,
Packit Service 7c31a4
  UV_FS_CLOSE,
Packit Service 7c31a4
  UV_FS_READ,
Packit Service 7c31a4
  UV_FS_WRITE,
Packit Service 7c31a4
  UV_FS_SENDFILE,
Packit Service 7c31a4
  UV_FS_STAT,
Packit Service 7c31a4
  UV_FS_LSTAT,
Packit Service 7c31a4
  UV_FS_FSTAT,
Packit Service 7c31a4
  UV_FS_FTRUNCATE,
Packit Service 7c31a4
  UV_FS_UTIME,
Packit Service 7c31a4
  UV_FS_FUTIME,
Packit Service 7c31a4
  UV_FS_ACCESS,
Packit Service 7c31a4
  UV_FS_CHMOD,
Packit Service 7c31a4
  UV_FS_FCHMOD,
Packit Service 7c31a4
  UV_FS_FSYNC,
Packit Service 7c31a4
  UV_FS_FDATASYNC,
Packit Service 7c31a4
  UV_FS_UNLINK,
Packit Service 7c31a4
  UV_FS_RMDIR,
Packit Service 7c31a4
  UV_FS_MKDIR,
Packit Service 7c31a4
  UV_FS_MKDTEMP,
Packit Service 7c31a4
  UV_FS_RENAME,
Packit Service 7c31a4
  UV_FS_SCANDIR,
Packit Service 7c31a4
  UV_FS_LINK,
Packit Service 7c31a4
  UV_FS_SYMLINK,
Packit Service 7c31a4
  UV_FS_READLINK,
Packit Service 7c31a4
  UV_FS_CHOWN,
Packit Service 7c31a4
  UV_FS_FCHOWN,
Packit Service 7c31a4
  UV_FS_REALPATH,
Packit Service 7c31a4
  UV_FS_COPYFILE,
Packit Service 7c31a4
  UV_FS_LCHOWN,
Packit Service 7c31a4
  UV_FS_OPENDIR,
Packit Service 7c31a4
  UV_FS_READDIR,
Packit Service 7c31a4
  UV_FS_CLOSEDIR,
Packit Service 7c31a4
  UV_FS_STATFS,
Packit Service 7c31a4
  UV_FS_MKSTEMP,
Packit Service 7c31a4
  UV_FS_LUTIME
Packit Service 7c31a4
} uv_fs_type;
Packit Service 7c31a4
Packit Service 7c31a4
struct uv_dir_s {
Packit Service 7c31a4
  uv_dirent_t* dirents;
Packit Service 7c31a4
  size_t nentries;
Packit Service 7c31a4
  void* reserved[4];
Packit Service 7c31a4
  UV_DIR_PRIVATE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
/* uv_fs_t is a subclass of uv_req_t. */
Packit Service 7c31a4
struct uv_fs_s {
Packit Service 7c31a4
  UV_REQ_FIELDS
Packit Service 7c31a4
  uv_fs_type fs_type;
Packit Service 7c31a4
  uv_loop_t* loop;
Packit Service 7c31a4
  uv_fs_cb cb;
Packit Service 7c31a4
  ssize_t result;
Packit Service 7c31a4
  void* ptr;
Packit Service 7c31a4
  const char* path;
Packit Service 7c31a4
  uv_stat_t statbuf;  /* Stores the result of uv_fs_stat() and uv_fs_fstat(). */
Packit Service 7c31a4
  UV_FS_PRIVATE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN uv_fs_type uv_fs_get_type(const uv_fs_t*);
Packit Service 7c31a4
UV_EXTERN ssize_t uv_fs_get_result(const uv_fs_t*);
Packit Service 7c31a4
UV_EXTERN int uv_fs_get_system_error(const uv_fs_t*);
Packit Service 7c31a4
UV_EXTERN void* uv_fs_get_ptr(const uv_fs_t*);
Packit Service 7c31a4
UV_EXTERN const char* uv_fs_get_path(const uv_fs_t*);
Packit Service 7c31a4
UV_EXTERN uv_stat_t* uv_fs_get_statbuf(uv_fs_t*);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN void uv_fs_req_cleanup(uv_fs_t* req);
Packit Service 7c31a4
UV_EXTERN int uv_fs_close(uv_loop_t* loop,
Packit Service 7c31a4
                          uv_fs_t* req,
Packit Service 7c31a4
                          uv_file file,
Packit Service 7c31a4
                          uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_open(uv_loop_t* loop,
Packit Service 7c31a4
                         uv_fs_t* req,
Packit Service 7c31a4
                         const char* path,
Packit Service 7c31a4
                         int flags,
Packit Service 7c31a4
                         int mode,
Packit Service 7c31a4
                         uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_read(uv_loop_t* loop,
Packit Service 7c31a4
                         uv_fs_t* req,
Packit Service 7c31a4
                         uv_file file,
Packit Service 7c31a4
                         const uv_buf_t bufs[],
Packit Service 7c31a4
                         unsigned int nbufs,
Packit Service 7c31a4
                         int64_t offset,
Packit Service 7c31a4
                         uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_unlink(uv_loop_t* loop,
Packit Service 7c31a4
                           uv_fs_t* req,
Packit Service 7c31a4
                           const char* path,
Packit Service 7c31a4
                           uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_write(uv_loop_t* loop,
Packit Service 7c31a4
                          uv_fs_t* req,
Packit Service 7c31a4
                          uv_file file,
Packit Service 7c31a4
                          const uv_buf_t bufs[],
Packit Service 7c31a4
                          unsigned int nbufs,
Packit Service 7c31a4
                          int64_t offset,
Packit Service 7c31a4
                          uv_fs_cb cb);
Packit Service 7c31a4
/*
Packit Service 7c31a4
 * This flag can be used with uv_fs_copyfile() to return an error if the
Packit Service 7c31a4
 * destination already exists.
Packit Service 7c31a4
 */
Packit Service 7c31a4
#define UV_FS_COPYFILE_EXCL   0x0001
Packit Service 7c31a4
Packit Service 7c31a4
/*
Packit Service 7c31a4
 * This flag can be used with uv_fs_copyfile() to attempt to create a reflink.
Packit Service 7c31a4
 * If copy-on-write is not supported, a fallback copy mechanism is used.
Packit Service 7c31a4
 */
Packit Service 7c31a4
#define UV_FS_COPYFILE_FICLONE 0x0002
Packit Service 7c31a4
Packit Service 7c31a4
/*
Packit Service 7c31a4
 * This flag can be used with uv_fs_copyfile() to attempt to create a reflink.
Packit Service 7c31a4
 * If copy-on-write is not supported, an error is returned.
Packit Service 7c31a4
 */
Packit Service 7c31a4
#define UV_FS_COPYFILE_FICLONE_FORCE 0x0004
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_fs_copyfile(uv_loop_t* loop,
Packit Service 7c31a4
                             uv_fs_t* req,
Packit Service 7c31a4
                             const char* path,
Packit Service 7c31a4
                             const char* new_path,
Packit Service 7c31a4
                             int flags,
Packit Service 7c31a4
                             uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_mkdir(uv_loop_t* loop,
Packit Service 7c31a4
                          uv_fs_t* req,
Packit Service 7c31a4
                          const char* path,
Packit Service 7c31a4
                          int mode,
Packit Service 7c31a4
                          uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_mkdtemp(uv_loop_t* loop,
Packit Service 7c31a4
                            uv_fs_t* req,
Packit Service 7c31a4
                            const char* tpl,
Packit Service 7c31a4
                            uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_mkstemp(uv_loop_t* loop,
Packit Service 7c31a4
                            uv_fs_t* req,
Packit Service 7c31a4
                            const char* tpl,
Packit Service 7c31a4
                            uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_rmdir(uv_loop_t* loop,
Packit Service 7c31a4
                          uv_fs_t* req,
Packit Service 7c31a4
                          const char* path,
Packit Service 7c31a4
                          uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_scandir(uv_loop_t* loop,
Packit Service 7c31a4
                            uv_fs_t* req,
Packit Service 7c31a4
                            const char* path,
Packit Service 7c31a4
                            int flags,
Packit Service 7c31a4
                            uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_scandir_next(uv_fs_t* req,
Packit Service 7c31a4
                                 uv_dirent_t* ent);
Packit Service 7c31a4
UV_EXTERN int uv_fs_opendir(uv_loop_t* loop,
Packit Service 7c31a4
                            uv_fs_t* req,
Packit Service 7c31a4
                            const char* path,
Packit Service 7c31a4
                            uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_readdir(uv_loop_t* loop,
Packit Service 7c31a4
                            uv_fs_t* req,
Packit Service 7c31a4
                            uv_dir_t* dir,
Packit Service 7c31a4
                            uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_closedir(uv_loop_t* loop,
Packit Service 7c31a4
                             uv_fs_t* req,
Packit Service 7c31a4
                             uv_dir_t* dir,
Packit Service 7c31a4
                             uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_stat(uv_loop_t* loop,
Packit Service 7c31a4
                         uv_fs_t* req,
Packit Service 7c31a4
                         const char* path,
Packit Service 7c31a4
                         uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_fstat(uv_loop_t* loop,
Packit Service 7c31a4
                          uv_fs_t* req,
Packit Service 7c31a4
                          uv_file file,
Packit Service 7c31a4
                          uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_rename(uv_loop_t* loop,
Packit Service 7c31a4
                           uv_fs_t* req,
Packit Service 7c31a4
                           const char* path,
Packit Service 7c31a4
                           const char* new_path,
Packit Service 7c31a4
                           uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_fsync(uv_loop_t* loop,
Packit Service 7c31a4
                          uv_fs_t* req,
Packit Service 7c31a4
                          uv_file file,
Packit Service 7c31a4
                          uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_fdatasync(uv_loop_t* loop,
Packit Service 7c31a4
                              uv_fs_t* req,
Packit Service 7c31a4
                              uv_file file,
Packit Service 7c31a4
                              uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_ftruncate(uv_loop_t* loop,
Packit Service 7c31a4
                              uv_fs_t* req,
Packit Service 7c31a4
                              uv_file file,
Packit Service 7c31a4
                              int64_t offset,
Packit Service 7c31a4
                              uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_sendfile(uv_loop_t* loop,
Packit Service 7c31a4
                             uv_fs_t* req,
Packit Service 7c31a4
                             uv_file out_fd,
Packit Service 7c31a4
                             uv_file in_fd,
Packit Service 7c31a4
                             int64_t in_offset,
Packit Service 7c31a4
                             size_t length,
Packit Service 7c31a4
                             uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_access(uv_loop_t* loop,
Packit Service 7c31a4
                           uv_fs_t* req,
Packit Service 7c31a4
                           const char* path,
Packit Service 7c31a4
                           int mode,
Packit Service 7c31a4
                           uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_chmod(uv_loop_t* loop,
Packit Service 7c31a4
                          uv_fs_t* req,
Packit Service 7c31a4
                          const char* path,
Packit Service 7c31a4
                          int mode,
Packit Service 7c31a4
                          uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_utime(uv_loop_t* loop,
Packit Service 7c31a4
                          uv_fs_t* req,
Packit Service 7c31a4
                          const char* path,
Packit Service 7c31a4
                          double atime,
Packit Service 7c31a4
                          double mtime,
Packit Service 7c31a4
                          uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_futime(uv_loop_t* loop,
Packit Service 7c31a4
                           uv_fs_t* req,
Packit Service 7c31a4
                           uv_file file,
Packit Service 7c31a4
                           double atime,
Packit Service 7c31a4
                           double mtime,
Packit Service 7c31a4
                           uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_lutime(uv_loop_t* loop,
Packit Service 7c31a4
                           uv_fs_t* req,
Packit Service 7c31a4
                           const char* path,
Packit Service 7c31a4
                           double atime,
Packit Service 7c31a4
                           double mtime,
Packit Service 7c31a4
                           uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_lstat(uv_loop_t* loop,
Packit Service 7c31a4
                          uv_fs_t* req,
Packit Service 7c31a4
                          const char* path,
Packit Service 7c31a4
                          uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_link(uv_loop_t* loop,
Packit Service 7c31a4
                         uv_fs_t* req,
Packit Service 7c31a4
                         const char* path,
Packit Service 7c31a4
                         const char* new_path,
Packit Service 7c31a4
                         uv_fs_cb cb);
Packit Service 7c31a4
Packit Service 7c31a4
/*
Packit Service 7c31a4
 * This flag can be used with uv_fs_symlink() on Windows to specify whether
Packit Service 7c31a4
 * path argument points to a directory.
Packit Service 7c31a4
 */
Packit Service 7c31a4
#define UV_FS_SYMLINK_DIR          0x0001
Packit Service 7c31a4
Packit Service 7c31a4
/*
Packit Service 7c31a4
 * This flag can be used with uv_fs_symlink() on Windows to specify whether
Packit Service 7c31a4
 * the symlink is to be created using junction points.
Packit Service 7c31a4
 */
Packit Service 7c31a4
#define UV_FS_SYMLINK_JUNCTION     0x0002
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_fs_symlink(uv_loop_t* loop,
Packit Service 7c31a4
                            uv_fs_t* req,
Packit Service 7c31a4
                            const char* path,
Packit Service 7c31a4
                            const char* new_path,
Packit Service 7c31a4
                            int flags,
Packit Service 7c31a4
                            uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_readlink(uv_loop_t* loop,
Packit Service 7c31a4
                             uv_fs_t* req,
Packit Service 7c31a4
                             const char* path,
Packit Service 7c31a4
                             uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_realpath(uv_loop_t* loop,
Packit Service 7c31a4
                             uv_fs_t* req,
Packit Service 7c31a4
                             const char* path,
Packit Service 7c31a4
                             uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_fchmod(uv_loop_t* loop,
Packit Service 7c31a4
                           uv_fs_t* req,
Packit Service 7c31a4
                           uv_file file,
Packit Service 7c31a4
                           int mode,
Packit Service 7c31a4
                           uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_chown(uv_loop_t* loop,
Packit Service 7c31a4
                          uv_fs_t* req,
Packit Service 7c31a4
                          const char* path,
Packit Service 7c31a4
                          uv_uid_t uid,
Packit Service 7c31a4
                          uv_gid_t gid,
Packit Service 7c31a4
                          uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_fchown(uv_loop_t* loop,
Packit Service 7c31a4
                           uv_fs_t* req,
Packit Service 7c31a4
                           uv_file file,
Packit Service 7c31a4
                           uv_uid_t uid,
Packit Service 7c31a4
                           uv_gid_t gid,
Packit Service 7c31a4
                           uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_lchown(uv_loop_t* loop,
Packit Service 7c31a4
                           uv_fs_t* req,
Packit Service 7c31a4
                           const char* path,
Packit Service 7c31a4
                           uv_uid_t uid,
Packit Service 7c31a4
                           uv_gid_t gid,
Packit Service 7c31a4
                           uv_fs_cb cb);
Packit Service 7c31a4
UV_EXTERN int uv_fs_statfs(uv_loop_t* loop,
Packit Service 7c31a4
                           uv_fs_t* req,
Packit Service 7c31a4
                           const char* path,
Packit Service 7c31a4
                           uv_fs_cb cb);
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
enum uv_fs_event {
Packit Service 7c31a4
  UV_RENAME = 1,
Packit Service 7c31a4
  UV_CHANGE = 2
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
struct uv_fs_event_s {
Packit Service 7c31a4
  UV_HANDLE_FIELDS
Packit Service 7c31a4
  /* private */
Packit Service 7c31a4
  char* path;
Packit Service 7c31a4
  UV_FS_EVENT_PRIVATE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
/*
Packit Service 7c31a4
 * uv_fs_stat() based polling file watcher.
Packit Service 7c31a4
 */
Packit Service 7c31a4
struct uv_fs_poll_s {
Packit Service 7c31a4
  UV_HANDLE_FIELDS
Packit Service 7c31a4
  /* Private, don't touch. */
Packit Service 7c31a4
  void* poll_ctx;
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_fs_poll_init(uv_loop_t* loop, uv_fs_poll_t* handle);
Packit Service 7c31a4
UV_EXTERN int uv_fs_poll_start(uv_fs_poll_t* handle,
Packit Service 7c31a4
                               uv_fs_poll_cb poll_cb,
Packit Service 7c31a4
                               const char* path,
Packit Service 7c31a4
                               unsigned int interval);
Packit Service 7c31a4
UV_EXTERN int uv_fs_poll_stop(uv_fs_poll_t* handle);
Packit Service 7c31a4
UV_EXTERN int uv_fs_poll_getpath(uv_fs_poll_t* handle,
Packit Service 7c31a4
                                 char* buffer,
Packit Service 7c31a4
                                 size_t* size);
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
struct uv_signal_s {
Packit Service 7c31a4
  UV_HANDLE_FIELDS
Packit Service 7c31a4
  uv_signal_cb signal_cb;
Packit Service 7c31a4
  int signum;
Packit Service 7c31a4
  UV_SIGNAL_PRIVATE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_signal_init(uv_loop_t* loop, uv_signal_t* handle);
Packit Service 7c31a4
UV_EXTERN int uv_signal_start(uv_signal_t* handle,
Packit Service 7c31a4
                              uv_signal_cb signal_cb,
Packit Service 7c31a4
                              int signum);
Packit Service 7c31a4
UV_EXTERN int uv_signal_start_oneshot(uv_signal_t* handle,
Packit Service 7c31a4
                                      uv_signal_cb signal_cb,
Packit Service 7c31a4
                                      int signum);
Packit Service 7c31a4
UV_EXTERN int uv_signal_stop(uv_signal_t* handle);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN void uv_loadavg(double avg[3]);
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
/*
Packit Service 7c31a4
 * Flags to be passed to uv_fs_event_start().
Packit Service 7c31a4
 */
Packit Service 7c31a4
enum uv_fs_event_flags {
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * By default, if the fs event watcher is given a directory name, we will
Packit Service 7c31a4
   * watch for all events in that directory. This flags overrides this behavior
Packit Service 7c31a4
   * and makes fs_event report only changes to the directory entry itself. This
Packit Service 7c31a4
   * flag does not affect individual files watched.
Packit Service 7c31a4
   * This flag is currently not implemented yet on any backend.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  UV_FS_EVENT_WATCH_ENTRY = 1,
Packit Service 7c31a4
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * By default uv_fs_event will try to use a kernel interface such as inotify
Packit Service 7c31a4
   * or kqueue to detect events. This may not work on remote filesystems such
Packit Service 7c31a4
   * as NFS mounts. This flag makes fs_event fall back to calling stat() on a
Packit Service 7c31a4
   * regular interval.
Packit Service 7c31a4
   * This flag is currently not implemented yet on any backend.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  UV_FS_EVENT_STAT = 2,
Packit Service 7c31a4
Packit Service 7c31a4
  /*
Packit Service 7c31a4
   * By default, event watcher, when watching directory, is not registering
Packit Service 7c31a4
   * (is ignoring) changes in it's subdirectories.
Packit Service 7c31a4
   * This flag will override this behaviour on platforms that support it.
Packit Service 7c31a4
   */
Packit Service 7c31a4
  UV_FS_EVENT_RECURSIVE = 4
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_fs_event_init(uv_loop_t* loop, uv_fs_event_t* handle);
Packit Service 7c31a4
UV_EXTERN int uv_fs_event_start(uv_fs_event_t* handle,
Packit Service 7c31a4
                                uv_fs_event_cb cb,
Packit Service 7c31a4
                                const char* path,
Packit Service 7c31a4
                                unsigned int flags);
Packit Service 7c31a4
UV_EXTERN int uv_fs_event_stop(uv_fs_event_t* handle);
Packit Service 7c31a4
UV_EXTERN int uv_fs_event_getpath(uv_fs_event_t* handle,
Packit Service 7c31a4
                                  char* buffer,
Packit Service 7c31a4
                                  size_t* size);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_ip4_addr(const char* ip, int port, struct sockaddr_in* addr);
Packit Service 7c31a4
UV_EXTERN int uv_ip6_addr(const char* ip, int port, struct sockaddr_in6* addr);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_ip4_name(const struct sockaddr_in* src, char* dst, size_t size);
Packit Service 7c31a4
UV_EXTERN int uv_ip6_name(const struct sockaddr_in6* src, char* dst, size_t size);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_inet_ntop(int af, const void* src, char* dst, size_t size);
Packit Service 7c31a4
UV_EXTERN int uv_inet_pton(int af, const char* src, void* dst);
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
struct uv_random_s {
Packit Service 7c31a4
  UV_REQ_FIELDS
Packit Service 7c31a4
  /* read-only */
Packit Service 7c31a4
  uv_loop_t* loop;
Packit Service 7c31a4
  /* private */
Packit Service 7c31a4
  int status;
Packit Service 7c31a4
  void* buf;
Packit Service 7c31a4
  size_t buflen;
Packit Service 7c31a4
  uv_random_cb cb;
Packit Service 7c31a4
  struct uv__work work_req;
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_random(uv_loop_t* loop,
Packit Service 7c31a4
                        uv_random_t* req,
Packit Service 7c31a4
                        void *buf,
Packit Service 7c31a4
                        size_t buflen,
Packit Service 7c31a4
                        unsigned flags,  /* For future extension; must be 0. */
Packit Service 7c31a4
                        uv_random_cb cb);
Packit Service 7c31a4
Packit Service 7c31a4
#if defined(IF_NAMESIZE)
Packit Service 7c31a4
# define UV_IF_NAMESIZE (IF_NAMESIZE + 1)
Packit Service 7c31a4
#elif defined(IFNAMSIZ)
Packit Service 7c31a4
# define UV_IF_NAMESIZE (IFNAMSIZ + 1)
Packit Service 7c31a4
#else
Packit Service 7c31a4
# define UV_IF_NAMESIZE (16 + 1)
Packit Service 7c31a4
#endif
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_if_indextoname(unsigned int ifindex,
Packit Service 7c31a4
                                char* buffer,
Packit Service 7c31a4
                                size_t* size);
Packit Service 7c31a4
UV_EXTERN int uv_if_indextoiid(unsigned int ifindex,
Packit Service 7c31a4
                               char* buffer,
Packit Service 7c31a4
                               size_t* size);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_exepath(char* buffer, size_t* size);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_cwd(char* buffer, size_t* size);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_chdir(const char* dir);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN uint64_t uv_get_free_memory(void);
Packit Service 7c31a4
UV_EXTERN uint64_t uv_get_total_memory(void);
Packit Service 7c31a4
UV_EXTERN uint64_t uv_get_constrained_memory(void);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN uint64_t uv_hrtime(void);
Packit Service 7c31a4
UV_EXTERN void uv_sleep(unsigned int msec);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN void uv_disable_stdio_inheritance(void);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_dlopen(const char* filename, uv_lib_t* lib);
Packit Service 7c31a4
UV_EXTERN void uv_dlclose(uv_lib_t* lib);
Packit Service 7c31a4
UV_EXTERN int uv_dlsym(uv_lib_t* lib, const char* name, void** ptr);
Packit Service 7c31a4
UV_EXTERN const char* uv_dlerror(const uv_lib_t* lib);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_mutex_init(uv_mutex_t* handle);
Packit Service 7c31a4
UV_EXTERN int uv_mutex_init_recursive(uv_mutex_t* handle);
Packit Service 7c31a4
UV_EXTERN void uv_mutex_destroy(uv_mutex_t* handle);
Packit Service 7c31a4
UV_EXTERN void uv_mutex_lock(uv_mutex_t* handle);
Packit Service 7c31a4
UV_EXTERN int uv_mutex_trylock(uv_mutex_t* handle);
Packit Service 7c31a4
UV_EXTERN void uv_mutex_unlock(uv_mutex_t* handle);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_rwlock_init(uv_rwlock_t* rwlock);
Packit Service 7c31a4
UV_EXTERN void uv_rwlock_destroy(uv_rwlock_t* rwlock);
Packit Service 7c31a4
UV_EXTERN void uv_rwlock_rdlock(uv_rwlock_t* rwlock);
Packit Service 7c31a4
UV_EXTERN int uv_rwlock_tryrdlock(uv_rwlock_t* rwlock);
Packit Service 7c31a4
UV_EXTERN void uv_rwlock_rdunlock(uv_rwlock_t* rwlock);
Packit Service 7c31a4
UV_EXTERN void uv_rwlock_wrlock(uv_rwlock_t* rwlock);
Packit Service 7c31a4
UV_EXTERN int uv_rwlock_trywrlock(uv_rwlock_t* rwlock);
Packit Service 7c31a4
UV_EXTERN void uv_rwlock_wrunlock(uv_rwlock_t* rwlock);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value);
Packit Service 7c31a4
UV_EXTERN void uv_sem_destroy(uv_sem_t* sem);
Packit Service 7c31a4
UV_EXTERN void uv_sem_post(uv_sem_t* sem);
Packit Service 7c31a4
UV_EXTERN void uv_sem_wait(uv_sem_t* sem);
Packit Service 7c31a4
UV_EXTERN int uv_sem_trywait(uv_sem_t* sem);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_cond_init(uv_cond_t* cond);
Packit Service 7c31a4
UV_EXTERN void uv_cond_destroy(uv_cond_t* cond);
Packit Service 7c31a4
UV_EXTERN void uv_cond_signal(uv_cond_t* cond);
Packit Service 7c31a4
UV_EXTERN void uv_cond_broadcast(uv_cond_t* cond);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_barrier_init(uv_barrier_t* barrier, unsigned int count);
Packit Service 7c31a4
UV_EXTERN void uv_barrier_destroy(uv_barrier_t* barrier);
Packit Service 7c31a4
UV_EXTERN int uv_barrier_wait(uv_barrier_t* barrier);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN void uv_cond_wait(uv_cond_t* cond, uv_mutex_t* mutex);
Packit Service 7c31a4
UV_EXTERN int uv_cond_timedwait(uv_cond_t* cond,
Packit Service 7c31a4
                                uv_mutex_t* mutex,
Packit Service 7c31a4
                                uint64_t timeout);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN void uv_once(uv_once_t* guard, void (*callback)(void));
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_key_create(uv_key_t* key);
Packit Service 7c31a4
UV_EXTERN void uv_key_delete(uv_key_t* key);
Packit Service 7c31a4
UV_EXTERN void* uv_key_get(uv_key_t* key);
Packit Service 7c31a4
UV_EXTERN void uv_key_set(uv_key_t* key, void* value);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_gettimeofday(uv_timeval64_t* tv);
Packit Service 7c31a4
Packit Service 7c31a4
typedef void (*uv_thread_cb)(void* arg);
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_thread_create(uv_thread_t* tid, uv_thread_cb entry, void* arg);
Packit Service 7c31a4
Packit Service 7c31a4
typedef enum {
Packit Service 7c31a4
  UV_THREAD_NO_FLAGS = 0x00,
Packit Service 7c31a4
  UV_THREAD_HAS_STACK_SIZE = 0x01
Packit Service 7c31a4
} uv_thread_create_flags;
Packit Service 7c31a4
Packit Service 7c31a4
struct uv_thread_options_s {
Packit Service 7c31a4
  unsigned int flags;
Packit Service 7c31a4
  size_t stack_size;
Packit Service 7c31a4
  /* More fields may be added at any time. */
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
typedef struct uv_thread_options_s uv_thread_options_t;
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN int uv_thread_create_ex(uv_thread_t* tid,
Packit Service 7c31a4
                                  const uv_thread_options_t* params,
Packit Service 7c31a4
                                  uv_thread_cb entry,
Packit Service 7c31a4
                                  void* arg);
Packit Service 7c31a4
UV_EXTERN uv_thread_t uv_thread_self(void);
Packit Service 7c31a4
UV_EXTERN int uv_thread_join(uv_thread_t *tid);
Packit Service 7c31a4
UV_EXTERN int uv_thread_equal(const uv_thread_t* t1, const uv_thread_t* t2);
Packit Service 7c31a4
Packit Service 7c31a4
/* The presence of these unions force similar struct layout. */
Packit Service 7c31a4
#define XX(_, name) uv_ ## name ## _t name;
Packit Service 7c31a4
union uv_any_handle {
Packit Service 7c31a4
  UV_HANDLE_TYPE_MAP(XX)
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
union uv_any_req {
Packit Service 7c31a4
  UV_REQ_TYPE_MAP(XX)
Packit Service 7c31a4
};
Packit Service 7c31a4
#undef XX
Packit Service 7c31a4
Packit Service 7c31a4
Packit Service 7c31a4
struct uv_loop_s {
Packit Service 7c31a4
  /* User data - use this for whatever. */
Packit Service 7c31a4
  void* data;
Packit Service 7c31a4
  /* Loop reference counting. */
Packit Service 7c31a4
  unsigned int active_handles;
Packit Service 7c31a4
  void* handle_queue[2];
Packit Service 7c31a4
  union {
Packit Service e2ebee
    void* unused;
Packit Service 7c31a4
    unsigned int count;
Packit Service 7c31a4
  } active_reqs;
Packit Service e2ebee
  /* Internal storage for future extensions. */
Packit Service e2ebee
  void* internal_fields;
Packit Service 7c31a4
  /* Internal flag to signal loop stop. */
Packit Service 7c31a4
  unsigned int stop_flag;
Packit Service 7c31a4
  UV_LOOP_PRIVATE_FIELDS
Packit Service 7c31a4
};
Packit Service 7c31a4
Packit Service 7c31a4
UV_EXTERN void* uv_loop_get_data(const uv_loop_t*);
Packit Service 7c31a4
UV_EXTERN void uv_loop_set_data(uv_loop_t*, void* data);
Packit Service 7c31a4
Packit Service 7c31a4
/* Don't export the private CPP symbols. */
Packit Service 7c31a4
#undef UV_HANDLE_TYPE_PRIVATE
Packit Service 7c31a4
#undef UV_REQ_TYPE_PRIVATE
Packit Service 7c31a4
#undef UV_REQ_PRIVATE_FIELDS
Packit Service 7c31a4
#undef UV_STREAM_PRIVATE_FIELDS
Packit Service 7c31a4
#undef UV_TCP_PRIVATE_FIELDS
Packit Service 7c31a4
#undef UV_PREPARE_PRIVATE_FIELDS
Packit Service 7c31a4
#undef UV_CHECK_PRIVATE_FIELDS
Packit Service 7c31a4
#undef UV_IDLE_PRIVATE_FIELDS
Packit Service 7c31a4
#undef UV_ASYNC_PRIVATE_FIELDS
Packit Service 7c31a4
#undef UV_TIMER_PRIVATE_FIELDS
Packit Service 7c31a4
#undef UV_GETADDRINFO_PRIVATE_FIELDS
Packit Service 7c31a4
#undef UV_GETNAMEINFO_PRIVATE_FIELDS
Packit Service 7c31a4
#undef UV_FS_REQ_PRIVATE_FIELDS
Packit Service 7c31a4
#undef UV_WORK_PRIVATE_FIELDS
Packit Service 7c31a4
#undef UV_FS_EVENT_PRIVATE_FIELDS
Packit Service 7c31a4
#undef UV_SIGNAL_PRIVATE_FIELDS
Packit Service 7c31a4
#undef UV_LOOP_PRIVATE_FIELDS
Packit Service 7c31a4
#undef UV_LOOP_PRIVATE_PLATFORM_FIELDS
Packit Service 7c31a4
#undef UV__ERR
Packit Service 7c31a4
Packit Service 7c31a4
#ifdef __cplusplus
Packit Service 7c31a4
}
Packit Service 7c31a4
#endif
Packit Service 7c31a4
#endif /* UV_H */