Blame src/testlib/papi_test.h

Packit 577717
/* Standard headers for PAPI test applications.
Packit 577717
	This file is customized to hide Windows / Unix differences.
Packit 577717
*/
Packit 577717
Packit 577717
Packit 577717
#ifdef __cplusplus
Packit 577717
extern "C"
Packit 577717
{
Packit 577717
#endif
Packit 577717
Packit 577717
Packit 577717
//#if (!defined(NO_DLFCN) && !defined(_BGL) && !defined(_BGP))
Packit 577717
//#include <dlfcn.h>
Packit 577717
//#endif
Packit 577717
Packit 577717
//#include <memory.h>
Packit 577717
//#if !defined(__FreeBSD__) && !defined(__APPLE__)
Packit 577717
//#include <malloc.h>
Packit 577717
//#endif
Packit 577717
Packit 577717
/* Masks to select operations for add_test_events() and remove_test_events()
Packit 577717
	Mask value tells us what events to select.
Packit 577717
*/
Packit 577717
#define MASK_FP_OPS  0x80000
Packit 577717
#define MASK_L1_DCA  0x40000    /* three new events for POWER4 */
Packit 577717
#define MASK_L1_DCW  0x20000
Packit 577717
#define MASK_L1_DCR  0x10000
Packit 577717
#define MASK_TOT_IIS 0x04000    /* Try this if TOT_INS won't work */
Packit 577717
#define MASK_BR_PRC  0x02000
Packit 577717
#define MASK_BR_MSP  0x01000
Packit 577717
#define MASK_BR_CN   0x00800
Packit 577717
#define MASK_L2_TCH  0x00400
Packit 577717
#define MASK_L2_TCA  0x00200
Packit 577717
#define MASK_L2_TCM  0x00100
Packit 577717
#define MASK_L1_DCM  0x00040
Packit 577717
#define MASK_L1_ICM  0x00020
Packit 577717
#define MASK_L1_TCM  0x00010
Packit 577717
#define MASK_FP_INS  0x00004
Packit 577717
#define MASK_TOT_INS 0x00002
Packit 577717
#define MASK_TOT_CYC 0x00001
Packit 577717
Packit 577717
#define MAX_TEST_EVENTS 18
Packit 577717
Packit 577717
struct test_events_t {
Packit 577717
	unsigned int mask;
Packit 577717
	unsigned int event;
Packit 577717
};
Packit 577717
Packit 577717
extern struct test_events_t test_events[];
Packit 577717
Packit 577717
void validate_string(const char *name, char *s);
Packit 577717
void *get_overflow_address(void *context);
Packit 577717
void free_test_space(long long ** values, int num_tests);
Packit 577717
long long **allocate_test_space(int num_tests, int num_events);
Packit 577717
int add_test_events(int *number, int *mask, int allow_derived);
Packit 577717
int add_two_events(int *num_events, int *papi_event, int *mask);
Packit 577717
int add_two_nonderived_events(int *num_events, int *papi_event, int *mask);
Packit 577717
int add_test_events_r(int *number, int *mask, void *handle);
Packit 577717
int find_nonderived_event( void );
Packit 577717
int enum_add_native_events(int *num_events, int **evtcodes, int need_interrupts, int no_software_events, int cidx);
Packit 577717
int remove_test_events(int *EventSet, int mask);
Packit 577717
Packit 577717
char *stringify_domain(int domain);
Packit 577717
char *stringify_all_domains(int domains);
Packit 577717
char *stringify_granularity(int granularity);
Packit 577717
char *stringify_all_granularities(int granularities);
Packit 577717
int tests_quiet(int argc, char **argv);
Packit 577717
void test_pass(const char *filename);
Packit 577717
void test_fail(const char *file, int line, const char *call, int retval);
Packit 577717
void test_skip(const char *file, int line, const char *call, int retval);
Packit 577717
void test_warn(const char *file, int line, const char *call, int retval);
Packit 577717
void test_print_event_header(const char *call, int evset);
Packit 577717
int approx_equals(double a, double b);
Packit 577717
Packit 577717
/* Unix systems use %lld to display long long values
Packit 577717
	Windows uses %I64d for the same purpose.
Packit 577717
	Since these occur inside a quoted string,
Packit 577717
	we must #define the entire format string.
Packit 577717
	Below are several common forms of this string
Packit 577717
	for both platforms.
Packit 577717
*/
Packit 577717
Packit 577717
#define ONEHDR  " %12s"
Packit 577717
#define TAB2HDR	"%s %12s %12s\n"
Packit 577717
#define TAB3HDR	"%s %12s %12s %12s\n"
Packit 577717
#define TAB4HDR	"%s %12s %12s %12s %12s\n"
Packit 577717
#define ONENUM  " %12lld"
Packit 577717
#define TAB1	"%-12s %12lld\n"
Packit 577717
#define TAB2	"%-12s %12lld %12lld\n"
Packit 577717
#define TAB3	"%-12s %12lld %12lld %12lld\n"
Packit 577717
#define TAB4	"%-12s %12lld %12lld %12lld %12lld\n"
Packit 577717
#define TAB5	"%-12s %12lld %12lld %12lld %12lld %12lld\n"
Packit 577717
#define TWO12	"%12lld %12lld  %s"
Packit 577717
#define LLDFMT  "%lld"
Packit 577717
#define LLDFMT10 "%10lld"
Packit 577717
#define LLDFMT12 "%12lld"
Packit 577717
#define LLDFMT15 "%15lld"
Packit 577717
Packit 577717
extern int TESTS_QUIET;         /* Declared in test_utils.c */
Packit 577717
Packit 577717
#ifdef __cplusplus
Packit 577717
}
Packit 577717
#endif
Packit 577717