00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #if !defined(_OSSL_RUBY_MISSING_H_)
00012 #define _OSSL_RUBY_MISSING_H_
00013
00014 #define rb_define_copy_func(klass, func) \
00015 rb_define_method((klass), "initialize_copy", (func), 1)
00016
00017
00018 #ifndef GetReadFile
00019 #define FPTR_TO_FD(fptr) ((fptr)->fd)
00020 #else
00021 #define FPTR_TO_FD(fptr) (fileno(GetReadFile(fptr)))
00022 #endif
00023
00024 #ifndef HAVE_RB_IO_T
00025 #define rb_io_t OpenFile
00026 #endif
00027
00028 #ifndef HAVE_RB_STR_SET_LEN
00029
00030 #define rb_str_set_len(str, length) do { \
00031 RSTRING(str)->ptr[(length)] = 0; \
00032 RSTRING(str)->len = (length); \
00033 } while(0)
00034 #endif
00035
00036 #ifndef HAVE_RB_BLOCK_CALL
00037
00038 #define rb_block_call(arg1, arg2, arg3, arg4, arg5, arg6) rb_iterate(rb_each, (arg1), (arg5), (arg6))
00039 #endif
00040
00041 #ifdef PRIsVALUE
00042 # define RB_OBJ_CLASSNAME(obj) rb_obj_class(obj)
00043 # define RB_OBJ_STRING(obj) (obj)
00044 #else
00045 # define PRIsVALUE "s"
00046 # define RB_OBJ_CLASSNAME(obj) rb_obj_classname(obj)
00047 # define RB_OBJ_STRING(obj) StringValueCStr(obj)
00048 #endif
00049
00050 #endif
00051