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_type * | aop_t_all_signed () |
struct aop_type * | aop_t_all_unsigned () |
struct aop_type * | aop_t_all_fp () |
struct aop_type * | aop_t_all_pointer () |
struct aop_type * | aop_t_signed8 () |
struct aop_type * | aop_t_signed16 () |
struct aop_type * | aop_t_signed32 () |
struct aop_type * | aop_t_signed64 () |
struct aop_type * | aop_t_signed128 () |
struct aop_type * | aop_t_unsigned8 () |
struct aop_type * | aop_t_unsigned16 () |
struct aop_type * | aop_t_unsigned32 () |
struct aop_type * | aop_t_unsigned64 () |
struct aop_type * | aop_t_unsigned128 () |
struct aop_type * | aop_t_float32 () |
struct aop_type * | aop_t_float64 () |
struct aop_type * | aop_t_long_double () |
struct aop_type * | aop_t_cstring () |
struct aop_type * | aop_t_struct (const char *tag) |
struct aop_type * | aop_t_struct_ptr (const char *tag) |
struct aop_type * | aop_t_union (const char *tag) |
struct aop_type * | aop_t_union_ptr (const char *tag) |
struct aop_type * | aop_t_enum (const char *tag) |
struct aop_type * | aop_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_type * | aop_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_pointcut * | aop_match_function_entry () |
void | aop_filter_by_in_param (struct aop_pointcut *pc, int n, const struct aop_type *type) |
struct aop_dynval * | aop_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_pointcut * | aop_match_function_exit () |
void | aop_filter_exit_by_return_type (struct aop_pointcut *pc, const struct aop_type *type) |
struct aop_dynval * | aop_capture_exit_return_value (struct aop_joinpoint *jp) |
struct aop_dynval * | aop_capture_exit_return_value_by_type (struct aop_joinpoint *jp, const struct aop_type *type) |
struct aop_pointcut * | aop_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_dynval * | aop_capture_call_return_value (struct aop_joinpoint *jp) |
struct aop_dynval * | aop_capture_call_return_value_by_type (struct aop_joinpoint *jp, const struct aop_type *type) |
struct aop_dynval * | aop_capture_call_param (struct aop_joinpoint *jp, int param_index) |
struct aop_dynval * | aop_capture_call_param_by_type (struct aop_joinpoint *jp, int n, const struct aop_type *type) |
struct aop_pointcut * | aop_match_assignment_by_type (const struct aop_type *type) |
struct aop_dynval * | aop_capture_lhs_addr (struct aop_joinpoint *jp) |
const char * | aop_capture_lhs_name (struct aop_joinpoint *jp) |
struct aop_dynval * | aop_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_dynval * | aop_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.
