Ruby 1.9.3p327(2012-11-10revision37606)
Data Structures | Defines | Typedefs | Functions | Variables
ext/io/console/console.c File Reference
#include "ruby.h"
#include "rubyio.h"
Include dependency graph for console.c:

Go to the source code of this file.

Data Structures

struct  rawmode_arg_t

Defines

#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

Define 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(), and negate_lit().

#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) [inline, static]

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 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

Definition at line 92 of file console.c.

ID id_getc [static]

Definition at line 92 of file console.c.