2 * Copyright (C) 2003-2007, Parrot Foundation.
9 * Parrot dynamic extensions
12 #ifndef PARROT_DYNEXT_H_GUARD
13 #define PARROT_DYNEXT_H_GUARD
15 /* HEADERIZER BEGIN: src/dynext.c */
16 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
19 PARROT_WARN_UNUSED_RESULT
20 PARROT_CANNOT_RETURN_NULL
21 PMC
* Parrot_clone_lib_into(
25 __attribute__nonnull__(1)
26 __attribute__nonnull__(2)
27 __attribute__nonnull__(3)
32 PARROT_CANNOT_RETURN_NULL
33 PMC
* Parrot_init_lib(PARROT_INTERP
,
34 ARGIN_NULLOK(PMC
*(*load_func
)(PARROT_INTERP
)),
35 ARGIN_NULLOK(void (*init_func
)(PARROT_INTERP
,
36 ARGIN_NULLOK(PMC
*))))
37 __attribute__nonnull__(1);
40 PARROT_WARN_UNUSED_RESULT
41 PARROT_CANNOT_RETURN_NULL
42 PMC
* Parrot_load_lib(PARROT_INTERP
,
43 ARGIN_NULLOK(STRING
*lib
),
44 SHIM(PMC
*initializer
))
45 __attribute__nonnull__(1);
47 #define ASSERT_ARGS_Parrot_clone_lib_into __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
48 PARROT_ASSERT_ARG(d) \
49 , PARROT_ASSERT_ARG(s) \
50 , PARROT_ASSERT_ARG(lib_pmc))
51 #define ASSERT_ARGS_Parrot_init_lib __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
52 PARROT_ASSERT_ARG(interp))
53 #define ASSERT_ARGS_Parrot_load_lib __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
54 PARROT_ASSERT_ARG(interp))
55 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
56 /* HEADERIZER END: src/dynext.c */
58 #endif /* PARROT_DYNEXT_H_GUARD */
62 * c-file-style: "parrot"
64 * vim: expandtab shiftwidth=4: