WPILibC++ 2023.4.3
unix.h File Reference
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <dirent.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <termios.h>
#include <pwd.h>
#include <semaphore.h>
#include <sys/param.h>
#include <pthread.h>
#include <signal.h>
#include "uv/threadpool.h"

Go to the source code of this file.

Classes

struct  uv__io_s
 
struct  uv_buf_t
 It should be possible to cast uv_buf_t[] to WSABUF[] see http://msdn.microsoft.com/en-us/library/ms741542(v=vs.85).aspx. More...
 
struct  _uv_barrier
 
struct  uv_barrier_t
 
struct  uv_lib_t
 

Macros

#define NI_MAXHOST   1025
 
#define NI_MAXSERV   32
 
#define UV_IO_PRIVATE_PLATFORM_FIELDS   /* empty */
 
#define UV_PLATFORM_SEM_T   sem_t
 
#define UV_PLATFORM_LOOP_FIELDS   /* empty */
 
#define UV_PLATFORM_FS_EVENT_FIELDS   /* empty */
 
#define UV_STREAM_PRIVATE_PLATFORM_FIELDS   /* empty */
 
#define UV_ONCE_INIT   PTHREAD_ONCE_INIT
 
#define UV_DIR_PRIVATE_FIELDS    DIR* dir;
 
#define UV_DYNAMIC   /* empty */
 
#define UV_LOOP_PRIVATE_FIELDS
 
#define UV_REQ_TYPE_PRIVATE   /* empty */
 
#define UV_REQ_PRIVATE_FIELDS   /* empty */
 
#define UV_PRIVATE_REQ_TYPES   /* empty */
 
#define UV_WRITE_PRIVATE_FIELDS
 
#define UV_CONNECT_PRIVATE_FIELDS    void* queue[2]; \
 
#define UV_SHUTDOWN_PRIVATE_FIELDS   /* empty */
 
#define UV_UDP_SEND_PRIVATE_FIELDS
 
#define UV_HANDLE_PRIVATE_FIELDS
 
#define UV_STREAM_PRIVATE_FIELDS
 
#define UV_TCP_PRIVATE_FIELDS   /* empty */
 
#define UV_UDP_PRIVATE_FIELDS
 
#define UV_PIPE_PRIVATE_FIELDS    const char* pipe_fname; /* strdup'ed */
 
#define UV_POLL_PRIVATE_FIELDS    uv__io_t io_watcher;
 
#define UV_PREPARE_PRIVATE_FIELDS
 
#define UV_CHECK_PRIVATE_FIELDS
 
#define UV_IDLE_PRIVATE_FIELDS
 
#define UV_ASYNC_PRIVATE_FIELDS
 
#define UV_TIMER_PRIVATE_FIELDS
 
#define UV_GETADDRINFO_PRIVATE_FIELDS
 
#define UV_GETNAMEINFO_PRIVATE_FIELDS
 
#define UV_PROCESS_PRIVATE_FIELDS
 
#define UV_FS_PRIVATE_FIELDS
 
#define UV_WORK_PRIVATE_FIELDS    struct uv__work work_req;
 
#define UV_TTY_PRIVATE_FIELDS
 
#define UV_SIGNAL_PRIVATE_FIELDS
 
#define UV_FS_EVENT_PRIVATE_FIELDS
 
#define UV_FS_O_APPEND   0
 
#define UV_FS_O_CREAT   0
 
#define UV_FS_O_DIRECT   0
 
#define UV_FS_O_DIRECTORY   0
 
#define UV_FS_O_DSYNC   0
 
#define UV_FS_O_EXCL   0
 
#define UV_FS_O_EXLOCK   0
 
#define UV_FS_O_NOATIME   0
 
#define UV_FS_O_NOCTTY   0
 
#define UV_FS_O_NOFOLLOW   0
 
#define UV_FS_O_NONBLOCK   0
 
#define UV_FS_O_RDONLY   0
 
#define UV_FS_O_RDWR   0
 
#define UV_FS_O_SYMLINK   0
 
#define UV_FS_O_SYNC   0
 
#define UV_FS_O_TRUNC   0
 
#define UV_FS_O_WRONLY   0
 
#define UV_FS_O_FILEMAP   0
 
#define UV_FS_O_RANDOM   0
 
#define UV_FS_O_SHORT_LIVED   0
 
#define UV_FS_O_SEQUENTIAL   0
 
#define UV_FS_O_TEMPORARY   0
 

Typedefs

typedef void(* uv__io_cb) (struct uv_loop_s *loop, struct uv__io_s *w, unsigned int events)
 
typedef struct uv__io_s uv__io_t
 
typedef struct uv_buf_t uv_buf_t
 
typedef int uv_file
 
typedef int uv_os_sock_t
 
typedef int uv_os_fd_t
 
typedef pid_t uv_pid_t
 
typedef pthread_once_t uv_once_t
 
typedef pthread_t uv_thread_t
 
typedef pthread_mutex_t uv_mutex_t
 
typedef pthread_rwlock_t uv_rwlock_t
 
typedef UV_PLATFORM_SEM_T uv_sem_t
 
typedef pthread_cond_t uv_cond_t
 
typedef pthread_key_t uv_key_t
 
typedef gid_t uv_gid_t
 
typedef uid_t uv_uid_t
 
typedef struct dirent uv__dirent_t
 

Macro Definition Documentation

◆ NI_MAXHOST

#define NI_MAXHOST   1025

◆ NI_MAXSERV

#define NI_MAXSERV   32

◆ UV_ASYNC_PRIVATE_FIELDS

#define UV_ASYNC_PRIVATE_FIELDS
Value:
uv_async_cb async_cb; \
void* queue[2]; \
int pending; \
void(* uv_async_cb)(uv_async_t *handle)
Definition: uv.h:319

◆ UV_CHECK_PRIVATE_FIELDS

#define UV_CHECK_PRIVATE_FIELDS
Value:
uv_check_cb check_cb; \
void* queue[2]; \
void(* uv_check_cb)(uv_check_t *handle)
Definition: uv.h:321

◆ UV_CONNECT_PRIVATE_FIELDS

#define UV_CONNECT_PRIVATE_FIELDS    void* queue[2]; \

◆ UV_DIR_PRIVATE_FIELDS

#define UV_DIR_PRIVATE_FIELDS    DIR* dir;

◆ UV_DYNAMIC

#define UV_DYNAMIC   /* empty */

◆ UV_FS_EVENT_PRIVATE_FIELDS

#define UV_FS_EVENT_PRIVATE_FIELDS
Value:
UV_PLATFORM_FS_EVENT_FIELDS \
void(* uv_fs_event_cb)(uv_fs_event_t *handle, const char *filename, int events, int status)
Definition: uv.h:366

◆ UV_FS_O_APPEND

#define UV_FS_O_APPEND   0

◆ UV_FS_O_CREAT

#define UV_FS_O_CREAT   0

◆ UV_FS_O_DIRECT

#define UV_FS_O_DIRECT   0

◆ UV_FS_O_DIRECTORY

#define UV_FS_O_DIRECTORY   0

◆ UV_FS_O_DSYNC

#define UV_FS_O_DSYNC   0

◆ UV_FS_O_EXCL

#define UV_FS_O_EXCL   0

◆ UV_FS_O_EXLOCK

#define UV_FS_O_EXLOCK   0

◆ UV_FS_O_FILEMAP

#define UV_FS_O_FILEMAP   0

◆ UV_FS_O_NOATIME

#define UV_FS_O_NOATIME   0

◆ UV_FS_O_NOCTTY

#define UV_FS_O_NOCTTY   0

◆ UV_FS_O_NOFOLLOW

#define UV_FS_O_NOFOLLOW   0

◆ UV_FS_O_NONBLOCK

#define UV_FS_O_NONBLOCK   0

◆ UV_FS_O_RANDOM

#define UV_FS_O_RANDOM   0

◆ UV_FS_O_RDONLY

#define UV_FS_O_RDONLY   0

◆ UV_FS_O_RDWR

#define UV_FS_O_RDWR   0

◆ UV_FS_O_SEQUENTIAL

#define UV_FS_O_SEQUENTIAL   0

◆ UV_FS_O_SHORT_LIVED

#define UV_FS_O_SHORT_LIVED   0

◆ UV_FS_O_SYMLINK

#define UV_FS_O_SYMLINK   0

◆ UV_FS_O_SYNC

#define UV_FS_O_SYNC   0

◆ UV_FS_O_TEMPORARY

#define UV_FS_O_TEMPORARY   0

◆ UV_FS_O_TRUNC

#define UV_FS_O_TRUNC   0

◆ UV_FS_O_WRONLY

#define UV_FS_O_WRONLY   0

◆ UV_FS_PRIVATE_FIELDS

#define UV_FS_PRIVATE_FIELDS
Value:
const char *new_path; \
uv_file file; \
int flags; \
mode_t mode; \
unsigned int nbufs; \
uv_buf_t* bufs; \
off_t off; \
uv_uid_t uid; \
uv_gid_t gid; \
double atime; \
double mtime; \
struct uv__work work_req; \
uv_buf_t bufsml[4]; \
then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file
Definition: ThirdPartyNotices.txt:195
flags
Definition: http_parser.h:206
Definition: threadpool.h:30

◆ UV_GETADDRINFO_PRIVATE_FIELDS

#define UV_GETADDRINFO_PRIVATE_FIELDS
Value:
struct uv__work work_req; \
uv_getaddrinfo_cb cb; \
struct addrinfo* hints; \
char* hostname; \
char* service; \
struct addrinfo* addrinfo; \
int retcode;

◆ UV_GETNAMEINFO_PRIVATE_FIELDS

#define UV_GETNAMEINFO_PRIVATE_FIELDS
Value:
struct uv__work work_req; \
uv_getnameinfo_cb getnameinfo_cb; \
struct sockaddr_storage storage; \
int flags; \
char host[NI_MAXHOST]; \
char service[NI_MAXSERV]; \
int retcode;
#define NI_MAXHOST
Definition: unix.h:67
#define NI_MAXSERV
Definition: unix.h:71

◆ UV_HANDLE_PRIVATE_FIELDS

#define UV_HANDLE_PRIVATE_FIELDS
Value:
uv_handle_t* next_closing; \
unsigned int flags; \
Definition: uv.h:441

◆ UV_IDLE_PRIVATE_FIELDS

#define UV_IDLE_PRIVATE_FIELDS
Value:
uv_idle_cb idle_cb; \
void* queue[2]; \
void(* uv_idle_cb)(uv_idle_t *handle)
Definition: uv.h:322

◆ UV_IO_PRIVATE_PLATFORM_FIELDS

#define UV_IO_PRIVATE_PLATFORM_FIELDS   /* empty */

◆ UV_LOOP_PRIVATE_FIELDS

#define UV_LOOP_PRIVATE_FIELDS

◆ UV_ONCE_INIT

#define UV_ONCE_INIT   PTHREAD_ONCE_INIT

◆ UV_PIPE_PRIVATE_FIELDS

#define UV_PIPE_PRIVATE_FIELDS    const char* pipe_fname; /* strdup'ed */

◆ UV_PLATFORM_FS_EVENT_FIELDS

#define UV_PLATFORM_FS_EVENT_FIELDS   /* empty */

◆ UV_PLATFORM_LOOP_FIELDS

#define UV_PLATFORM_LOOP_FIELDS   /* empty */

◆ UV_PLATFORM_SEM_T

#define UV_PLATFORM_SEM_T   sem_t

◆ UV_POLL_PRIVATE_FIELDS

#define UV_POLL_PRIVATE_FIELDS    uv__io_t io_watcher;

◆ UV_PREPARE_PRIVATE_FIELDS

#define UV_PREPARE_PRIVATE_FIELDS
Value:
uv_prepare_cb prepare_cb; \
void* queue[2]; \
void(* uv_prepare_cb)(uv_prepare_t *handle)
Definition: uv.h:320

◆ UV_PRIVATE_REQ_TYPES

#define UV_PRIVATE_REQ_TYPES   /* empty */

◆ UV_PROCESS_PRIVATE_FIELDS

#define UV_PROCESS_PRIVATE_FIELDS
Value:
void* queue[2]; \
int status; \
GHC_FS_API file_status status(const path &p, std::error_code &ec) noexcept
Definition: filesystem.hpp:4892

◆ UV_REQ_PRIVATE_FIELDS

#define UV_REQ_PRIVATE_FIELDS   /* empty */

◆ UV_REQ_TYPE_PRIVATE

#define UV_REQ_TYPE_PRIVATE   /* empty */

◆ UV_SHUTDOWN_PRIVATE_FIELDS

#define UV_SHUTDOWN_PRIVATE_FIELDS   /* empty */

◆ UV_SIGNAL_PRIVATE_FIELDS

#define UV_SIGNAL_PRIVATE_FIELDS
Value:
/* RB_ENTRY(uv_signal_s) tree_entry; */ \
struct { \
struct uv_signal_s* rbe_left; \
struct uv_signal_s* rbe_right; \
struct uv_signal_s* rbe_parent; \
int rbe_color; \
} tree_entry; \
/* Use two counters here so we don have to fiddle with atomics. */ \
unsigned int caught_signals; \
unsigned int dispatched_signals;
Definition: uv.h:1586

◆ UV_STREAM_PRIVATE_FIELDS

#define UV_STREAM_PRIVATE_FIELDS
Value:
uv_connect_t *connect_req; \
uv_shutdown_t *shutdown_req; \
uv__io_t io_watcher; \
void* write_queue[2]; \
void* write_completed_queue[2]; \
uv_connection_cb connection_cb; \
int delayed_error; \
int accepted_fd; \
void* queued_fds; \
UV_STREAM_PRIVATE_PLATFORM_FIELDS \
Definition: uv.h:590

◆ UV_STREAM_PRIVATE_PLATFORM_FIELDS

#define UV_STREAM_PRIVATE_PLATFORM_FIELDS   /* empty */

◆ UV_TCP_PRIVATE_FIELDS

#define UV_TCP_PRIVATE_FIELDS   /* empty */

◆ UV_TIMER_PRIVATE_FIELDS

#define UV_TIMER_PRIVATE_FIELDS
Value:
uv_timer_cb timer_cb; \
void* heap_node[3]; \
uint64_t timeout; \
uint64_t repeat; \
uint64_t start_id;
void(* uv_timer_cb)(uv_timer_t *handle)
Definition: uv.h:318

◆ UV_TTY_PRIVATE_FIELDS

#define UV_TTY_PRIVATE_FIELDS
Value:
struct termios orig_termios; \
int mode;

◆ UV_UDP_PRIVATE_FIELDS

#define UV_UDP_PRIVATE_FIELDS
Value:
uv_alloc_cb alloc_cb; \
uv_udp_recv_cb recv_cb; \
uv__io_t io_watcher; \
void* write_queue[2]; \
void* write_completed_queue[2]; \
void(* uv_alloc_cb)(uv_handle_t *handle, size_t suggested_size, uv_buf_t *buf)
Definition: uv.h:306

◆ UV_UDP_SEND_PRIVATE_FIELDS

#define UV_UDP_SEND_PRIVATE_FIELDS
Value:
void* queue[2]; \
struct sockaddr_storage addr; \
unsigned int nbufs; \
uv_buf_t* bufs; \
ssize_t status; \
uv_udp_send_cb send_cb; \
uv_buf_t bufsml[4]; \

◆ UV_WORK_PRIVATE_FIELDS

#define UV_WORK_PRIVATE_FIELDS    struct uv__work work_req;

◆ UV_WRITE_PRIVATE_FIELDS

#define UV_WRITE_PRIVATE_FIELDS
Value:
void* queue[2]; \
unsigned int write_index; \
uv_buf_t* bufs; \
unsigned int nbufs; \
int error; \
uv_buf_t bufsml[4]; \
@ error
Definition: format.h:2559

Typedef Documentation

◆ uv__dirent_t

typedef struct dirent uv__dirent_t

◆ uv__io_cb

typedef void(* uv__io_cb) (struct uv_loop_s *loop, struct uv__io_s *w, unsigned int events)

◆ uv__io_t

typedef struct uv__io_s uv__io_t

◆ uv_buf_t

typedef struct uv_buf_t uv_buf_t

◆ uv_cond_t

typedef pthread_cond_t uv_cond_t

◆ uv_file

typedef int uv_file

◆ uv_gid_t

typedef gid_t uv_gid_t

◆ uv_key_t

typedef pthread_key_t uv_key_t

◆ uv_mutex_t

typedef pthread_mutex_t uv_mutex_t

◆ uv_once_t

typedef pthread_once_t uv_once_t

◆ uv_os_fd_t

typedef int uv_os_fd_t

◆ uv_os_sock_t

typedef int uv_os_sock_t

◆ uv_pid_t

typedef pid_t uv_pid_t

◆ uv_rwlock_t

typedef pthread_rwlock_t uv_rwlock_t

◆ uv_sem_t

◆ uv_thread_t

typedef pthread_t uv_thread_t

◆ uv_uid_t

typedef uid_t uv_uid_t