/* This value may be set when embedding for full cleanup */
/* 0=none, 1=full, 2=full with checks */
-PERLVARI(Iperl_destruct_level, U8, 0)
+/* mod_perl is special, and also assigns a meaning -1 */
+PERLVARI(Iperl_destruct_level, signed char, 0)
PERLVAR(Iperldb, U32)
PERLVAR(Ifilemode, int) /* so nextargv() can preserve mode */
PERLVAR(Ilastfd, int) /* what to preserve mode on */
PERLVAR(Ioldname, char *) /* what to preserve mode on */
-PERLVAR(IArgv, char **) /* stuff to free from do_aexec, vfork safe */
+PERLVAR(IArgv, const char **) /* stuff to free from do_aexec, vfork safe */
PERLVAR(ICmd, char *) /* stuff to free from do_aexec, vfork safe */
/* Elements in this array have ';' appended and are injected as a single line
into the tokeniser. You can't put any (literal) newlines into any program
PERLVARI(Ihash_seed, UV, 0) /* Hash initializer */
-PERLVAR(IDBassertion, SV *)
-
PERLVARI(Irehash_seed, UV, 0) /* 582 hash initializer */
PERLVARI(Iisarev, HV*, NULL) /* Reverse map of @ISA dependencies */
+/* The last unconditional member of the interpreter structure when 5.10.0 was
+ released. The offset of the end of this is baked into a global variable in
+ any shared perl library which will allow a sanity test in future perl
+ releases. */
+#define PERL_LAST_5_10_0_INTERP_MEMBER Iisarev
+
#ifdef PERL_IMPLICIT_CONTEXT
PERLVARI(Imy_cxt_size, int, 0) /* size of PL_my_cxt_list */
PERLVARI(Imy_cxt_list, void **, NULL) /* per-module array of MY_CXT pointers */
PERLVARI(Islab_count, U32, 0) /* Size of the array */
#endif
+/* Can shared object be destroyed */
+PERLVARI(Idestroyhook, destroyable_proc_t, MEMBER_TO_FPTR(Perl_sv_destroyable))
+
/* If you are adding a U8 or U16, check to see if there are 'Space' comments
* above on where there are gaps which currently will be structure padding. */