#if !defined(_OSSL_RUBY_MISSING_H_)
#define _OSSL_RUBY_MISSING_H_
#define rb_define_copy_func(klass, func) \
rb_define_method(klass, "initialize_copy", func, 1)
#ifndef GetReadFile
#define FPTR_TO_FD(fptr) (fptr->fd)
#else
#define FPTR_TO_FD(fptr) (fileno(GetReadFile(fptr)))
#endif
#ifndef HAVE_RB_IO_T
#define rb_io_t OpenFile
#endif
#ifndef HAVE_RB_STR_SET_LEN
#define rb_str_set_len(str, length) do { \
RSTRING(str)->ptr[length] = 0; \
RSTRING(str)->len = length; \
} while(0)
#endif
#ifndef HAVE_RB_BLOCK_CALL
#define rb_block_call(arg1, arg2, arg3, arg4, arg5, arg6) rb_iterate(rb_each, arg1, arg5, arg6)
#endif
#endif