*
* where ${BASENAME} is the base name of your plug-in, which GCC
* determines from the plug-in's file name. If your plug-in is named
- * <code>libfoo.so</code>, its basename will be <code>foo</code>.
+ * <code>libfoo.so</code>, its basename will be <code>libfoo</code>.
*
* If you want to be able to pass arguments to your plug-in, the
* plug-in's file name must not have any hyphens. This is a
* Otherwise, it returns NULL. If the user passed multiple arguments
* with the specified key, aop_get_arg_value() returns the value that
* was <i>last</i> on the command line.
+ * \ingroup setting_up
*/
const char *
aop_get_arg_value (const char *key)
*
* \param pass_name A name for the pass.
* \param callback The pass function to register.
+ * \ingroup setting_up
*/
void
aop_register_pass (const char *pass_name, pass_callback callback)
* license. Contact the Free Software Foundation for more
* information. (The InterAspect team is not affiliated with the Free
* Software Foundation.)
+ * \ingroup setting_up
*/
#define AOP_I_AM_GPL_COMPATIBLE() \
__attribute__((visibility("default"))) int plugin_is_GPL_compatible;
/**
* \brief A macro for easily declaring a plug-in's main function.
*
- * Define aop_main using the AOP_MAIN_PROTO macro to enusre that its
+ * Define aop_main using the AOP_MAIN_PROTO macro to ensure that its
* linker visibility is set correctly. Absolutely do not just declare
* it as a void function!
*
* \code
* AOP_PROTO_MAIN aop_main(void)
* \endcode
+ * \ingroup setting_up
*/
#define AOP_MAIN_PROTO __attribute__((visibility("hidden"))) void
*
* If EXPR evaluates to false, GCC will abort compilation and show an
* error with the file and line number of the failed assertion.
+ * \ingroup setting_up
*/
#define aop_assert(EXPR) \
((void)(!(EXPR) ? aop_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0))
*
* The function type for pass functions to be registered with
* aop_register_pass().
+ * \ingroup setting_up
*/
typedef unsigned int (*pass_callback) ();
extern void aop_join_on_copy (struct aop_pointcut *pc, int copy,
join_callback callback, void *callback_param);
+/**
+ * \defgroup setting_up Setting Up
+ * \{
+ */
+
/**
* The aop_main() function is the only function that a client plug-in
* <i>must</i> define in order to link with InterAspect. InterAspect
* will call aop_main() right at the beginning of compilation, giving
* it the opportunity to register a pass using aop_register_pass().
+ *
+ * Make sure to define your aop_main() using the AOP_MAIN_PROTO()
+ * macro.
*/
extern void aop_main ();
*/
extern void aop_finish ();
+/**
+ * \}
+ */
+
/**
* \cond HIDDEN_SYMBOLS
*/