Ruby  2.0.0p648(2015-12-16revision53162)
Data Structures | Macros | Functions | Variables
console.c File Reference
#include "ruby.h"
#include "ruby/io.h"

Go to the source code of this file.

Data Structures

struct  rawmode_arg_t
 

Macros

#define SET_LAST_ERROR   (0)
 
#define GetReadFD(fptr)   ((fptr)->fd)
 
#define GetWriteFD(fptr)   get_write_fd(fptr)
 
#define FD_PER_IO   2
 
#define CONSOLE_DEVICE_FOR_READING   CONSOLE_DEVICE
 

Functions

static rawmode_arg_trawmode_opt (int argc, VALUE *argv, rawmode_arg_t *opts)
 
static void set_rawmode (conmode *t, void *arg)
 
static void set_cookedmode (conmode *t, void *arg)
 
static void set_noecho (conmode *t, void *arg)
 
static void set_echo (conmode *t, void *arg)
 
static int echo_p (conmode *t)
 
static int set_ttymode (int fd, conmode *t, void(*setter)(conmode *, void *), void *arg)
 
static int get_write_fd (const rb_io_t *fptr)
 
static VALUE ttymode (VALUE io, VALUE(*func)(VALUE), void(*setter)(conmode *, void *), void *arg)
 
static VALUE console_raw (int argc, VALUE *argv, VALUE io)
 
static VALUE console_set_raw (int argc, VALUE *argv, VALUE io)
 
static VALUE console_cooked (VALUE io)
 
static VALUE console_set_cooked (VALUE io)
 
static VALUE getc_call (VALUE io)
 
static VALUE console_getch (int argc, VALUE *argv, VALUE io)
 
static VALUE console_noecho (VALUE io)
 
static VALUE console_set_echo (VALUE io, VALUE f)
 
static VALUE console_echo_p (VALUE io)
 
static VALUE console_iflush (VALUE io)
 
static VALUE console_oflush (VALUE io)
 
static VALUE console_ioflush (VALUE io)
 
static VALUE console_dev (VALUE klass)
 
static VALUE io_getch (int argc, VALUE *argv, VALUE io)
 
void Init_console (void)
 
void InitVM_console (void)
 

Variables

static ID id_getc
 
static ID id_console
 

Macro Definition Documentation

#define CONSOLE_DEVICE_FOR_READING   CONSOLE_DEVICE

Referenced by console_dev().

#define FD_PER_IO   2

Definition at line 234 of file console.c.

Referenced by ttymode().

#define GetReadFD (   fptr)    ((fptr)->fd)
#define GetWriteFD (   fptr)    get_write_fd(fptr)

Definition at line 231 of file console.c.

Referenced by console_ioflush(), console_oflush(), and ttymode().

#define SET_LAST_ERROR   (0)

Definition at line 85 of file console.c.

Function Documentation

static VALUE console_cooked ( VALUE  io)
static

Definition at line 351 of file console.c.

References NULL, rb_yield(), set_cookedmode(), and ttymode().

Referenced by InitVM_console().

static VALUE console_dev ( VALUE  klass)
static
static VALUE console_echo_p ( VALUE  io)
static

Definition at line 457 of file console.c.

References echo_p(), GetOpenFile, GetReadFD, Qfalse, Qtrue, and rb_sys_fail().

Referenced by InitVM_console().

static VALUE console_getch ( int  argc,
VALUE argv,
VALUE  io 
)
static

Definition at line 396 of file console.c.

References getc_call(), rawmode_opt(), set_rawmode(), and ttymode().

Referenced by InitVM_console().

static VALUE console_iflush ( VALUE  io)
static

Definition at line 581 of file console.c.

References GetOpenFile, GetReadFD, and rb_sys_fail().

Referenced by InitVM_console().

static VALUE console_ioflush ( VALUE  io)
static

Definition at line 625 of file console.c.

References GetOpenFile, GetReadFD, GetWriteFD, and rb_sys_fail().

Referenced by InitVM_console().

static VALUE console_noecho ( VALUE  io)
static

Definition at line 415 of file console.c.

References NULL, rb_yield(), set_noecho(), and ttymode().

Referenced by InitVM_console().

static VALUE console_oflush ( VALUE  io)
static

Definition at line 603 of file console.c.

References GetOpenFile, GetWriteFD, and rb_sys_fail().

Referenced by InitVM_console().

static VALUE console_raw ( int  argc,
VALUE argv,
VALUE  io 
)
static

Definition at line 306 of file console.c.

References rawmode_opt(), rb_yield(), set_rawmode(), and ttymode().

Referenced by InitVM_console().

static VALUE console_set_cooked ( VALUE  io)
static

Definition at line 367 of file console.c.

References GetOpenFile, GetReadFD, NULL, rb_sys_fail(), and set_cookedmode().

Referenced by InitVM_console().

static VALUE console_set_echo ( VALUE  io,
VALUE  f 
)
static

Definition at line 431 of file console.c.

References GetOpenFile, GetReadFD, NULL, rb_sys_fail(), RTEST, set_echo(), and set_noecho().

Referenced by InitVM_console().

static VALUE console_set_raw ( int  argc,
VALUE argv,
VALUE  io 
)
static

Definition at line 323 of file console.c.

References GetOpenFile, GetReadFD, rawmode_opt(), rb_sys_fail(), and set_rawmode().

Referenced by InitVM_console().

static int echo_p ( conmode *  t)
static

Definition at line 192 of file console.c.

Referenced by console_echo_p().

static int get_write_fd ( const rb_io_t fptr)
inlinestatic

Definition at line 223 of file console.c.

References rb_io_t::fd, GetOpenFile, and rb_io_t::tied_io_for_writing.

static VALUE getc_call ( VALUE  io)
static

Definition at line 382 of file console.c.

References rb_funcall2().

Referenced by console_getch().

void Init_console ( void  )

Definition at line 736 of file console.c.

References InitVM, and rb_intern.

void InitVM_console ( void  )
static VALUE io_getch ( int  argc,
VALUE argv,
VALUE  io 
)
static

Definition at line 727 of file console.c.

References rb_funcall2(), and rb_intern.

Referenced by InitVM_console().

static rawmode_arg_t* rawmode_opt ( int  argc,
VALUE argv,
rawmode_arg_t opts 
)
static
static void set_cookedmode ( conmode *  t,
void *  arg 
)
static

Definition at line 153 of file console.c.

Referenced by console_cooked(), and console_set_cooked().

static void set_echo ( conmode *  t,
void *  arg 
)
static

Definition at line 180 of file console.c.

Referenced by console_set_echo().

static void set_noecho ( conmode *  t,
void *  arg 
)
static

Definition at line 168 of file console.c.

Referenced by console_noecho(), and console_set_echo().

static void set_rawmode ( conmode *  t,
void *  arg 
)
static

Definition at line 126 of file console.c.

References rawmode_arg_t::vmin, and rawmode_arg_t::vtime.

Referenced by console_getch(), console_raw(), and console_set_raw().

static int set_ttymode ( int  fd,
conmode *  t,
void(*)(conmode *, void *)  setter,
void *  arg 
)
static

Definition at line 204 of file console.c.

Referenced by ttymode().

static VALUE ttymode ( VALUE  io,
VALUE(*)(VALUE func,
void(*)(conmode *, void *)  setter,
void *  arg 
)
static

Variable Documentation

ID id_console
static

Definition at line 92 of file console.c.

ID id_getc
static

Definition at line 92 of file console.c.