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