PAPI  5.3.2.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
papi_vector.h
Go to the documentation of this file.
1 
4 #ifndef _PAPI_VECTOR_H
5 #define _PAPI_VECTOR_H
6 
9 typedef struct cmp_struct_sizes {
10  int context;
12  int reg_value;
13  int reg_alloc;
15 
18 typedef struct papi_vectors {
21 
24 
25 /* List of exposed function pointers for this component */
26  void ( *dispatch_timer ) ( int, hwd_siginfo_t *, void * );
27  void * (*get_overflow_address) (int, char *, int);
30  int (*read) (hwd_context_t *, hwd_control_state_t *, long long **, int);
32  int (*write) (hwd_context_t *, hwd_control_state_t *, long long[]);
33  int (*cleanup_eventset) ( hwd_control_state_t * );
34  int (*stop_profiling) (ThreadInfo_t *, EventSetInfo_t *);
35  int (*init_component) (int);
36  int (*init_thread) (hwd_context_t *);
37  int (*init_control_state) (hwd_control_state_t * ptr);
38  int (*update_control_state) (hwd_control_state_t *, NativeInfo_t *, int, hwd_context_t *);
40  int (*set_overflow) (EventSetInfo_t *, int, int);
41  int (*set_profile) (EventSetInfo_t *, int, int);
43  int (*ntv_enum_events) (unsigned int *, int);
44  int (*ntv_name_to_code) (char *, unsigned int *);
45  int (*ntv_code_to_name) (unsigned int, char *, int);
46  int (*ntv_code_to_descr) (unsigned int, char *, int);
47  int (*ntv_code_to_bits) (unsigned int, hwd_register_t *);
48  int (*ntv_code_to_info) (unsigned int, PAPI_event_info_t *);
49  int (*allocate_registers) (EventSetInfo_t *);
53  int (*shutdown_thread) (hwd_context_t *);
54  int (*shutdown_component) (void);
55  int (*user) (int, void *, void *);
57 
58 extern papi_vector_t *_papi_hwd[];
59 
60 typedef struct papi_os_vectors {
61  long long (*get_real_cycles) (void);
62  long long (*get_virt_cycles) (void);
63  long long (*get_real_usec) (void);
64  long long (*get_virt_usec) (void);
65  long long (*get_real_nsec) (void);
66  long long (*get_virt_nsec) (void);
67  int (*update_shlib_info) (papi_mdi_t * mdi);
68  int (*get_system_info) (papi_mdi_t * mdi);
69  int (*get_memory_info) (PAPI_hw_info_t *, int);
70  int (*get_dmem_info) (PAPI_dmem_info_t *);
72 
74 
75 
76 /* Prototypes */
79 
80 #endif /* _PAPI_VECTOR_H */
ssize_t read(int fd, void *buf, size_t count)
Definition: appio.c:225
int _papi_hwi_innoculate_os_vector(papi_os_vector_t *v)
Definition: papi_vector.c:200
Hardware info structure.
Definition: papi.h:775
start
Definition: iozone.c:22736
void
Definition: iozone.c:18627
PAPI_component_info_t cmp_info
Definition: papi_vector.h:20
papi_os_vector_t _papi_os_vector
Definition: aix.c:1288
ssize_t write(int fd, const void *buf, size_t count)
Definition: appio.c:298
static int set_domain(hwd_control_state_t *cntrl, unsigned int domain)
A pointer to the following is passed to PAPI_get_dmem_info()
Definition: papi.h:866
stop
Definition: iozone.c:22741
int _papi_hwi_innoculate_vector(papi_vector_t *v)
Definition: papi_vector.c:109
long long
Definition: iozone.c:19827
cmp_struct_sizes_t size
Definition: papi_vector.h:23
int
Definition: iozone.c:18528
struct papi_vectors * _papi_hwd[]
char * ptr
Definition: iozone.c:23586