11 # define RB_OBJ_CLASSNAME(obj) rb_obj_class(obj)
12 # define RB_OBJ_STRING(obj) (obj)
14 # define PRIsVALUE "s"
15 # define RB_OBJ_CLASSNAME(obj) rb_obj_classname(obj)
16 # define RB_OBJ_STRING(obj) StringValueCStr(obj)
34 *wrap = (addrnum !=
func) ? func : 0;
67 return data ?
sizeof(*data) + data->
size : 0;
113 memset(ptr,0,(
size_t)size);
127 else if (val ==
Qnil) {
170 if (
rb_scan_args(argc, argv,
"12", &ptr, &size, &sym) >= 1) {
172 if (addrnum != ptr) wrap =
ptr;
189 data->
wrap[1] = funcwrap;
225 rb_bug(
"rb_dlptr_s_malloc");
396 rb_bug(
"rb_dlptr_to_str");
519 retval =
INT2NUM(*((
char *)data->
ptr + offset));
527 rb_bug(
"rb_dlptr_aref()");
544 VALUE arg0, arg1, arg2;
552 switch(
rb_scan_args(argc, argv,
"21", &arg0, &arg1, &arg2) ){
570 memcpy((
char *)data->
ptr + offset, mem, len);
574 rb_bug(
"rb_dlptr_aset()");
637 if (num == val) wrap = 0;