blob: f9aaa2754c9bae9a95a060ce0a451fa2c8469bfd [file] [log] [blame]
// FILE *
%{
#ifdef __cplusplus
extern "C" {
#endif
/* Ruby 1.9 changed the file name of this header */
#ifdef HAVE_RUBY_IO_H
#include "ruby/io.h"
#else
#include "rubyio.h"
#endif
#ifdef __cplusplus
}
#endif
%}
%typemap(in) FILE *READ {
OpenFile *of;
GetOpenFile($input, of);
rb_io_check_readable(of);
$1 = GetReadFile(of);
rb_read_check($1);
}
%typemap(in) FILE *READ_NOCHECK {
OpenFile *of;
GetOpenFile($input, of);
rb_io_check_readable(of);
$1 = GetReadFile(of);
}
%typemap(in) FILE *WRITE {
OpenFile *of;
GetOpenFile($input, of);
rb_io_check_writable(of);
$1 = GetWriteFile(of);
}