See IO#getch.
static VALUE io_getch(int argc, VALUE *argv, VALUE io) { return rb_funcallv(io, id_getc, argc, argv); }
See IO#getpass.
static VALUE io_getpass(int argc, VALUE *argv, VALUE io) { VALUE str; rb_check_arity(argc, 0, 1); prompt(argc, argv, io); str = str_chomp(rb_funcallv(io, id_gets, 0, 0)); puts_call(io); return str; }