src/aop.h File Reference

The entire InterAspect public interface. More...

Go to the source code of this file.

Defines

#define AOP_I_AM_GPL_COMPATIBLE()   __attribute__((visibility("default"))) int plugin_is_GPL_compatible;
 Client plug-in must use this macro to indicate that it is GPLv3 compatible.
#define AOP_MAIN_PROTO   __attribute__((visibility("hidden"))) void
 A macro for easily declaring a plug-in's main function.
#define aop_assert(EXPR)   ((void)(!(EXPR) ? aop_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0))
 A convenient interface to GCC's assertion facility.
#define AOP_STR_CST(VAL)   ATA_STR_CST, VAL
 Mark an advice argument as a string constant (const char *).
#define AOP_INT_CST(VAL)   ATA_INT_CST, VAL
 Mark an advice argument as an integer constant (int).
#define AOP_DOUBLE_CST(VAL)   ATA_DOUBLE_CST, VAL
 Mark an advice argument as a floating-point constant (double).
#define AOP_VOIDP_CST(VAL)   ATA_VOIDP_CST, VAL
 Mark an advice argument as an void pointer constant (void *).
#define AOP_DYNVAL(VAL)   ATA_DYNVAL, VAL
 Mark an advice argument as an runtime value (struct aop_dynval *).
#define AOP_TERM_ARG
 End a list of advice arguments.
#define AOP_GLOBAL_SCOPE   -1
#define AOP_FILE_SCOPE   -2
#define AOP_MEMORY_SCOPE   -3
#define AOP_LOCAL_SCOPE(SCOPE)   (SCOPE >= 0)

Typedefs

typedef unsigned int(* pass_callback )()
 Type for plug-in pass functions.
typedef void(* join_callback )(struct aop_joinpoint *, void *callback_param)
 Type for aop_join_on() callbacks.

Enumerations

enum  aop_insert_location { AOP_INSERT_BEFORE, AOP_INSERT_AFTER }
 

Advice locations for aop_insert_advice().

More...

Functions

void aop_filter_include_temps (struct aop_pointcut *pc)
void aop_filter_exclude_temps (struct aop_pointcut *pc)
void aop_insert_advice (struct aop_joinpoint *jp, const char *name, enum aop_insert_location location,...)
void aop_duplicate (struct aop_joinpoint *jp, const char *name,...)
struct aop_typeaop_t_all_signed ()
struct aop_typeaop_t_all_unsigned ()
struct aop_typeaop_t_all_fp ()
struct aop_typeaop_t_all_pointer ()
struct aop_typeaop_t_signed8 ()
struct aop_typeaop_t_signed16 ()
struct aop_typeaop_t_signed32 ()
struct aop_typeaop_t_signed64 ()
struct aop_typeaop_t_signed128 ()
struct aop_typeaop_t_unsigned8 ()
struct aop_typeaop_t_unsigned16 ()
struct aop_typeaop_t_unsigned32 ()
struct aop_typeaop_t_unsigned64 ()
struct aop_typeaop_t_unsigned128 ()
struct aop_typeaop_t_float32 ()
struct aop_typeaop_t_float64 ()
struct aop_typeaop_t_long_double ()
struct aop_typeaop_t_cstring ()
struct aop_typeaop_t_struct (const char *tag)
struct aop_typeaop_t_struct_ptr (const char *tag)
struct aop_typeaop_t_union (const char *tag)
struct aop_typeaop_t_union_ptr (const char *tag)
struct aop_typeaop_t_enum (const char *tag)
struct aop_typeaop_t_pointer_to (const struct aop_type *type)
int aop_is_pointer_type (const struct aop_type *type)
int aop_is_all_signed_subtype (const struct aop_type *type)
int aop_is_all_unsigned_subtype (const struct aop_type *type)
void aop_cast_to_all_pointer (struct aop_dynval *dv)
void aop_cast_to_all_signed (struct aop_dynval *dv)
void aop_cast_to_all_unsigned (struct aop_dynval *dv)
int aop_is_all_fp_subtype (const struct aop_type *type)
void aop_cast_to_all_fp (struct aop_dynval *dv)
struct aop_typeaop_get_dynval_type (struct aop_dynval *dv)
void aop_register_pass (const char *pass_name, pass_callback callback)
void aop_join_on (struct aop_pointcut *pc, join_callback callback, void *callback_param)
void aop_join_on_copy (struct aop_pointcut *pc, int copy, join_callback callback, void *callback_param)
void aop_main ()
void aop_finish ()
const char * aop_get_function_name (void)
struct aop_pointcutaop_match_function_entry ()
void aop_filter_by_in_param (struct aop_pointcut *pc, int n, const struct aop_type *type)
struct aop_dynvalaop_capture_in_param (struct aop_joinpoint *jp, int param_index)
void aop_filter_entry_by_name (struct aop_pointcut *pc, const char *name)
struct aop_pointcutaop_match_function_exit ()
void aop_filter_exit_by_return_type (struct aop_pointcut *pc, const struct aop_type *type)
struct aop_dynvalaop_capture_exit_return_value (struct aop_joinpoint *jp)
struct aop_dynvalaop_capture_exit_return_value_by_type (struct aop_joinpoint *jp, const struct aop_type *type)
struct aop_pointcutaop_match_function_call ()
void aop_filter_call_pc_by_name (struct aop_pointcut *pc, const char *advice_function_call)
void aop_filter_call_pc_by_param (struct aop_pointcut *pc, int n, const struct aop_type *type)
void aop_filter_call_pc_by_return_type (struct aop_pointcut *pc, const struct aop_type *type)
const char * aop_capture_called_function_name (struct aop_joinpoint *jp)
struct aop_dynvalaop_capture_call_return_value (struct aop_joinpoint *jp)
struct aop_dynvalaop_capture_call_return_value_by_type (struct aop_joinpoint *jp, const struct aop_type *type)
struct aop_dynvalaop_capture_call_param (struct aop_joinpoint *jp, int param_index)
struct aop_dynvalaop_capture_call_param_by_type (struct aop_joinpoint *jp, int n, const struct aop_type *type)
struct aop_pointcutaop_match_assignment_by_type (const struct aop_type *type)
struct aop_dynvalaop_capture_lhs_addr (struct aop_joinpoint *jp)
const char * aop_capture_lhs_name (struct aop_joinpoint *jp)
struct aop_dynvalaop_capture_assigned_value (struct aop_joinpoint *jp)
int aop_write_c_header (const char *filename, const char *guard, const char *license, const char *preamble)
const char * aop_get_arg_value (const char *key)
int aop_capture_lhs_var_scope (struct aop_joinpoint *jp)
int aop_capture_lineno (struct aop_joinpoint *jp)
const char * aop_capture_file_name (struct aop_joinpoint *jp)
struct aop_dynvalaop_capture_in_param_by_type (struct aop_joinpoint *jp, int n, const struct aop_type *type)

Detailed Description

The entire InterAspect public interface.

Include aop.h for all functions and data types necessary for an InterAspect plug-in. It is not generally necessary to include any other InterAspect header files or any GCC header files.

Generated on Tue Jul 31 21:46:42 2012 for InterAspect by doxygen 1.6.1