Ruby  1.9.3p392(2013-02-22revision39386)
Data Structures | Macros | Typedefs | Functions | Variables
console.c File Reference
#include "ruby.h"
#include "rubyio.h"

Go to the source code of this file.

Data Structures

struct  rawmode_arg_t
 

Macros

#define SET_LAST_ERROR   (0)
 
#define InitVM(ext)   {void InitVM_##ext(void);InitVM_##ext();}
 
#define GetReadFD(fptr)   ((fptr)->fd)
 
#define GetWriteFD(fptr)   get_write_fd(fptr)
 
#define FD_PER_IO   2
 
#define CONSOLE_DEVICE_FOR_READING   CONSOLE_DEVICE
 

Typedefs

typedef OpenFile rb_io_t
 

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 232 of file console.c.

Referenced by ttymode().

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

Definition at line 229 of file console.c.

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

#define InitVM (   ext)    {void InitVM_##ext(void);InitVM_##ext();}

Definition at line 89 of file console.c.

Referenced by Init_console().

#define SET_LAST_ERROR   (0)

Definition at line 85 of file console.c.

Typedef Documentation

typedef OpenFile rb_io_t

Definition at line 13 of file console.c.

Function Documentation

static VALUE console_cooked ( VALUE  io)
static

Definition at line 349 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 455 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 394 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 579 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 623 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 413 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 601 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 304 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 365 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 429 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 321 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 190 of file console.c.

Referenced by console_echo_p().

static int get_write_fd ( const rb_io_t fptr)
inlinestatic

Definition at line 221 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 380 of file console.c.

References rb_funcall2().

Referenced by console_getch().

void Init_console ( void  )

Definition at line 734 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 725 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 151 of file console.c.

Referenced by console_cooked(), and console_set_cooked().

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

Definition at line 178 of file console.c.

Referenced by console_set_echo().

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

Definition at line 166 of file console.c.

Referenced by console_noecho(), and console_set_echo().

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

Definition at line 124 of file console.c.

References arg, 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 202 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.