int handleCounter( void* fcb, uint64_t time, uint32_t process, uint32_t counter_token, uint64_t value ) { return ( 0 == OTF_Writer_writeCounter( ((fcbT*) fcb)->writer, time, process, counter_token, value ) ) ? OTF_RETURN_ABORT : OTF_RETURN_OK; }
int handleSamp( void *fcb, double time, unsigned int cpuorcpugrpid, int samplearraydim, const int *sampletokenarray, const int *samplevaluetypearray, const void *samplevaluearray ) { int i; uint64_t tmp; uint32_t tmp2; /* group means first bit equals 1 */ if ( (cpuorcpugrpid&0x80000000) == 0) { if ( cpuorcpugrpid == (uint32_t) -1 ) { fprintf( stderr, "cpuid is not supposed to be -1" ); } ++cpuorcpugrpid; } else { /* map it */ tmp2= searchHash( ((fcbT*)fcb)->pghash, (uint32_t) cpuorcpugrpid ); if( 0 != tmp2 ) { cpuorcpugrpid= tmp2; } } for( i = 0; i < samplearraydim; ++i ) { if ( samplevaluetypearray[i] == VTF3_VALUETYPE_FLOAT ) { tmp = (uint64_t) ( ((double*) samplevaluearray)[i] + 0.5f ); } else { tmp = ( (uint64_t*) samplevaluearray )[i]; } OTF_Writer_writeCounter( ((fcbT*)fcb)->writer, (uint64_t) time, cpuorcpugrpid, sampletokenarray[i] + 1, tmp ); } return 0; }