int handleLeave( void* fcb, uint64_t time, uint32_t statetoken, uint32_t cpuid, uint32_t scltoken ) { return ( 0 == OTF_Writer_writeLeave( ((fcbT*) fcb)->writer, time, statetoken, cpuid, scltoken ) ) ? OTF_RETURN_ABORT : OTF_RETURN_OK; }
int handleUpto( void *fcb, double time, int statetoken, unsigned int cpuid, int scltoken ) { StackEntryT entry; int cpu = cpuid&0xffff; int thread = (cpuid>>16)&0xffff; ++cpuid; ++statetoken; entry = Stack_pop( ((fcbT*)fcb)->processes[cpu][thread].stack ); OTF_Writer_writeLeave( ((fcbT*)fcb)->writer, (uint64_t) time, entry.state, cpuid, scltoken ); return 0; }