/* dynext.h
*
* $Id: dynext.h 15414 2006-11-12 02:47:59Z chip $
*
*   Parrot dynamic extensions
*/

#if !defined(PARROT_DYNEXT_H_GUARD)
#define PARROT_DYNEXT_H_GUARD


/* dynamic lib/oplib/PMC loading */
PARROT_API PMC *Parrot_load_lib(Interp *interp, STRING *lib, PMC *initializer);

/* dynamic lib/oplib/PMC init */
PARROT_API PMC *
Parrot_init_lib(Interp *interp,
                PMC *(*load_func)(Interp *),
                void (*init_func)(Interp *, PMC *));

/* for cloning live iterpreters to create new threads */
PARROT_API PMC *
Parrot_clone_lib_into(Interp *dest_interp, Interp *source_interp, PMC *lib_pmc);

#endif /* PARROT_DYNEXT_H_GUARD */


/*
 * Local variables:
 *   c-file-style: "parrot"
 * End:
 * vim: expandtab shiftwidth=4:
 */

