1 #ifndef __XS_OBJECT_MAGIC_H__ 2 #define __XS_OBJECT_MAGIC_H__ 3 4 #include "perl.h" 5 6 START_EXTERN_C 7 8 void xs_object_magic_attach_struct (pTHX_ SV *obj, void *ptr); 9 int xs_object_magic_detach_struct (pTHX_ SV *obj, void *ptr); 10 int xs_object_magic_detach_struct_rv (pTHX_ SV *obj, void *ptr); 11 int xs_object_magic_has_struct (pTHX_ SV *sv); 12 int xs_object_magic_has_struct_rv (pTHX_ SV *sv); 13 void *xs_object_magic_get_struct (pTHX_ SV *sv); 14 void *xs_object_magic_get_struct_rv (pTHX_ SV *sv); 15 void *xs_object_magic_get_struct_rv_pretty (pTHX_ SV *sv, const char *name); 16 MAGIC *xs_object_magic_get_mg (pTHX_ SV *sv); 17 18 SV *xs_object_magic_create (pTHX_ void *ptr, HV *stash); 19 20 END_EXTERN_C 21 22 #endif 23 24