-#define Val_sv(sv) (Val_voidptr ((sv)))
-#define Sv_val(svv) (Voidptr_val (SV, (svv)))
-#define Val_av(av) (Val_voidptr ((av)))
-#define Av_val(avv) (Voidptr_val (AV, (avv)))
-#define Val_hv(hv) (Val_voidptr ((hv)))
-#define Hv_val(hvv) (Voidptr_val (HV, (hvv)))
-
-CAMLprim value
-perl4caml_init (value unit)
-{
- CAMLparam1 (unit);
- PERL_SYS_INIT3 (NULL, NULL, NULL);
- CAMLreturn (Val_unit);
-}
-
-CAMLprim value
-perl4caml_current_interpreter (value unit)
-{
- CAMLparam1 (unit);
- if (my_perl == 0) raise_not_found ();
- CAMLreturn (Val_perl (my_perl));
-}
+#define Val_sv(sv) (Val_xv ((sv)))
+#define Sv_val(svv) ((SV *) Xv_val (svv))
+#define Val_av(av) (Val_xv ((SV *)(av)))
+#define Av_val(avv) ((AV *) Xv_val (avv))
+#define Val_hv(hv) (Val_xv ((SV *)(hv)))
+#define Hv_val(hvv) ((HV *) Xv_val (hvv))