Ruby
2.7.2p137(2020-10-01revision5445e0435260b449decf2ac16f9d09bae3cafe72)
|
Go to the documentation of this file.
15 #ifdef RUBY_INTERNAL_H
16 #error "Include this file before internal.h"
19 #if defined(__cplusplus)
29 #if defined(HAVE_STDIO_EXT_H)
30 #include <stdio_ext.h>
33 #include "ruby/config.h"
35 #if defined(HAVE_POLL)
37 # define reqevents events
38 # define rtnevents revents
47 # define RB_WAITFD_IN POLLIN
48 # define RB_WAITFD_PRI POLLPRI
49 # define RB_WAITFD_OUT POLLOUT
51 # define RB_WAITFD_IN 0x001
52 # define RB_WAITFD_PRI 0x002
53 # define RB_WAITFD_OUT 0x004
106 #define HAVE_RB_IO_T 1
108 #define FMODE_READABLE 0x00000001
109 #define FMODE_WRITABLE 0x00000002
110 #define FMODE_READWRITE (FMODE_READABLE|FMODE_WRITABLE)
111 #define FMODE_BINMODE 0x00000004
112 #define FMODE_SYNC 0x00000008
113 #define FMODE_TTY 0x00000010
114 #define FMODE_DUPLEX 0x00000020
115 #define FMODE_APPEND 0x00000040
116 #define FMODE_CREATE 0x00000080
118 #define FMODE_EXCL 0x00000400
119 #define FMODE_TRUNC 0x00000800
120 #define FMODE_TEXTMODE 0x00001000
122 #define FMODE_SETENC_BY_BOM 0x00100000
127 #define GetOpenFile(obj,fp) rb_io_check_closed((fp) = RFILE(rb_io_taint_check(obj))->fptr)
129 #define MakeOpenFile(obj, fp) do {\
130 (fp) = rb_io_make_open_file(obj);\
162 #define rb_io_mode_flags(modestr) [<"rb_io_mode_flags() is obsolete; use rb_io_modestr_fmode()">]
163 #define rb_io_modenum_flags(oflags) [<"rb_io_modenum_flags() is obsolete; use rb_io_oflags_fmode()">]
178 #if defined(__cplusplus)
VALUE writeconv_pre_ecopts
#define RUBY_SYMBOL_EXPORT_END
int writeconv_initialized
int rb_io_oflags_fmode(int oflags)
void rb_io_read_check(rb_io_t *)
struct rb_io_buffer_t rb_io_buffer_t
void(* finalize)(struct rb_io_t *, int)
rb_io_t * rb_io_make_open_file(VALUE obj)
void rb_io_check_closed(rb_io_t *)
struct rb_io_enc_t rb_io_enc_t
int rb_io_fptr_finalize(rb_io_t *)
VALUE rb_io_taint_check(VALUE)
FILE * rb_io_stdio_file(rb_io_t *fptr)
VALUE rb_io_check_io(VALUE io)
void rb_io_extract_modeenc(VALUE *vmode_p, VALUE *vperm_p, VALUE opthash, int *oflags_p, int *fmode_p, rb_io_enc_t *convconfig_p)
void rb_io_check_initialized(rb_io_t *)
RUBY_SYMBOL_EXPORT_BEGIN PACKED_STRUCT_UNALIGNED(struct rb_io_buffer_t { char *ptr;int off;int len;int capa;})
VALUE rb_io_get_write_io(VALUE io)
FILE * rb_fdopen(int, const char *)
NORETURN(void rb_eof_error(void))
VALUE rb_io_get_io(VALUE io)
void rb_io_check_readable(rb_io_t *)
void rb_io_check_char_readable(rb_io_t *fptr)
VALUE writeconv_asciicompat
CONSTFUNC(int rb_io_oflags_fmode(int oflags))
VALUE rb_io_set_write_io(VALUE io, VALUE w)
unsigned char buf[MIME_BUF_SIZE]
#define RUBY_SYMBOL_EXPORT_BEGIN
int rb_io_extract_encoding_option(VALUE opt, rb_encoding **enc_p, rb_encoding **enc2_p, int *fmode_p)
void rb_io_check_byte_readable(rb_io_t *fptr)
int rb_wait_for_single_fd(int fd, int events, struct timeval *tv)
void rb_io_check_writable(rb_io_t *)
int rb_io_modestr_fmode(const char *modestr)
void rb_io_set_nonblock(rb_io_t *fptr)
int rb_io_wait_readable(int)
VALUE tied_io_for_writing
int rb_io_read_pending(rb_io_t *)
struct rb_io_t::rb_io_enc_t encs
ssize_t rb_io_bufwrite(VALUE io, const void *buf, size_t size)
int writeconv_pre_ecflags
void rb_io_synchronized(rb_io_t *)
int rb_io_wait_writable(int)
VALUE rb_stat_new(const struct stat *)
int rb_io_modestr_oflags(const char *modestr)