src/tracecut-advice.h
Go to the documentation of this file.00001 #ifndef __AOP_TRACECUT_ADVICE_H__ 00002 #define __AOP_TRACECUT_ADVICE_H__ 00003 00004 /* Copyright (c) 2011 Justin Seyster 00005 Copyright (c) 2011 Erez Zadok 00006 Copyright (c) 2011 Stony Brook University 00007 Copyright (c) 2011 The Research Foundation of SUNY 00008 00009 This program is free software: you can redistribute it and/or 00010 modify it under the terms of the GNU General Public License as 00011 published by the Free Software Foundation, either version 3 of the 00012 License, or (at your option) any later version. 00013 00014 This program is distributed in the hope that it will be useful, but 00015 WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 General Public License for more details. 00018 00019 Under Section 7 of GPL version 3, you are granted additional 00020 permissions described in the GCC Runtime Library Exception, version 00021 3.1, as published by the Free Software Foundation. 00022 00023 You should have received a copy of the GNU General Public License 00024 and a copy of the GCC Runtime Library Exception along with this 00025 program; see the files COPYING and COPYING.RUNTIME respectively. 00026 If not, see <http://www.gnu.org/licenses/>. */ 00027 00056 struct param_val { 00057 enum { 00058 PV_VACANT = 0, 00059 PV_POINTER, 00060 PV_SIGNED_INT, 00061 PV_UNSIGNED_INT, 00062 PV_FP 00063 } kind; 00064 00065 union { 00066 uintptr_t ptr_value; 00067 int64_t int_value; 00068 uint64_t uint_value; 00069 double fp_value; 00070 }; 00071 }; 00072 00076 struct matched_param 00077 { 00078 const char *name; 00079 const struct param_val *value; 00080 }; 00081 00096 extern void tc_report_match (const char *symbol, 00097 const struct matched_param *param_array, 00098 int num_params); 00099 00100 #endif
