Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)
largesize.h
Go to the documentation of this file.
1#ifndef RBIMPL_INTERN_SELECT_LARGESIZE_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RBIMPL_INTERN_SELECT_LARGESIZE_H
61
63#define rb_fd_ptr rb_fd_ptr
64#define rb_fd_max rb_fd_max
67struct timeval;
68
69typedef struct {
70 int maxfd;
71 fd_set *fdset;
73
78void rb_fd_set(int, rb_fdset_t *);
79void rb_fd_clr(int, rb_fdset_t *);
81void rb_fd_copy(rb_fdset_t *, const fd_set *, int);
85
88/* :TODO: can this function be __attribute__((returns_nonnull)) or not? */
89static inline fd_set *
90rb_fd_ptr(const rb_fdset_t *f)
91{
92 return f->fdset;
93}
94
97static inline int
98rb_fd_max(const rb_fdset_t *f)
99{
100 return f->maxfd;
101}
102
103#endif /* RBIMPL_INTERN_SELECT_LARGESIZE_H */
Tewaking visibility of C variables/functions.
#define RBIMPL_SYMBOL_EXPORT_END()
Counterpart of RBIMPL_SYMBOL_EXPORT_BEGIN.
Definition: dllexport.h:86
#define RBIMPL_SYMBOL_EXPORT_BEGIN()
Shortcut macro equivalent to RUBY_SYMBOL_EXPORT_BEGIN extern "C" {.
Definition: dllexport.h:77
void rb_fd_copy(rb_fdset_t *, const fd_set *, int)
void rb_fd_dup(rb_fdset_t *dst, const rb_fdset_t *src)
Defines RBIMPL_ATTR_NONNULL.
#define RBIMPL_ATTR_NONNULL(list)
Wraps (or simulates) __attribute__((nonnull))
Definition: nonnull.h:29
#define rb_fd_isset
Definition: posix.h:41
#define rb_fd_select
Definition: posix.h:43
#define rb_fd_init
Definition: posix.h:42
#define rb_fd_set
Definition: posix.h:39
#define rb_fd_zero
Definition: posix.h:38
#define rb_fd_clr
Definition: posix.h:40
#define rb_fd_term(f)
Definition: posix.h:80
Defines RBIMPL_ATTR_PURE.
#define RBIMPL_ATTR_PURE()
Wraps (or simulates) __attribute__((pure))
Definition: pure.h:33
#define f
#define const
Definition: strftime.c:108
int maxfd
Definition: largesize.h:70
fd_set * fdset
Definition: largesize.h:71