Ruby: include/ruby/internal/intern/select.h Source File

Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)

select.h
Go to the documentation of this file.
1#ifndef RBIMPL_INTERN_SELECT_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RBIMPL_INTERN_SELECT_H
25#include "ruby/internal/config.h"
26
27#ifdef HAVE_SYS_TYPES_H
28# include <sys/types.h> /* for NFDBITS (BSD Net/2) */
29#endif
30
31#include "ruby/internal/dllexport.h"
32
33/* thread.c */
34#if defined(NFDBITS) && defined(HAVE_RB_FD_INIT)
35# include "ruby/internal/intern/select/largesize.h"
36#elif defined(_WIN32)
37# include "ruby/internal/intern/select/win32.h"
38# define rb_fd_resize(n, f) ((void)(f))
39#else
40# include "ruby/internal/intern/select/posix.h"
41# define rb_fd_resize(n, f) ((void)(f))
42#endif
43
44 RBIMPL_SYMBOL_EXPORT_BEGIN()
45
46struct timeval;
47
48int rb_thread_fd_select(int, rb_fdset_t *, rb_fdset_t *, rb_fdset_t *, struct timeval *);
49
50 RBIMPL_SYMBOL_EXPORT_END()
51
52#endif /* RBIMPL_INTERN_SELECT_H */
dllexport.h
Tewaking visibility of C variables/functions.
RBIMPL_SYMBOL_EXPORT_END
#define RBIMPL_SYMBOL_EXPORT_END()
Counterpart of RBIMPL_SYMBOL_EXPORT_BEGIN.
Definition: dllexport.h:86
RBIMPL_SYMBOL_EXPORT_BEGIN
#define RBIMPL_SYMBOL_EXPORT_BEGIN()
Shortcut macro equivalent to RUBY_SYMBOL_EXPORT_BEGIN extern "C" {.
Definition: dllexport.h:77
config.h
Thin wrapper to ruby/config.h.
win32.h
Public APIs to provide rb_fd_select().
largesize.h
Public APIs to provide rb_fd_select().
posix.h
Public APIs to provide rb_fd_select().
rb_thread_fd_select
int rb_thread_fd_select(int, rb_fdset_t *, rb_fdset_t *, rb_fdset_t *, struct timeval *)
Definition: thread.c:4330
rb_fdset_t
Definition: largesize.h:69
timeval
Definition: missing.h:51