//export callXXXXXX func callXXXXXX(data *C.char) C.VALUE {

things := YYYYYY
err := Unmarshal(C.GoString(data), &things)
if err != nil {
        str := err.Error()
        cstr := GOSTRING_PTR(str)
        return C.rb_utf8_str_new(cstr, C.long(len(str)))
} else {
        str := Marshal(HandleXXXXXX(things))
        cstr := GOSTRING_PTR(str)
        return C.rb_utf8_str_new(cstr, C.long(len(str)))
}

}