use crate::lib_on::valgrind::request;
const CALLGRIND_BASE: usize = ((b'C' as usize) << 24) | ((b'T' as usize) << 16);
const ZERO_STATS: usize = CALLGRIND_BASE + 1;
const DUMP_STATS_AT: usize = CALLGRIND_BASE + 3;
const START_INSTRUMENTATION: usize = CALLGRIND_BASE + 4;
const STOP_INSTRUMENTATION: usize = CALLGRIND_BASE + 5;
pub(crate) fn start_session() {
request(0, START_INSTRUMENTATION, 0);
request(0, ZERO_STATS, 0);
}
pub(crate) fn dump_and_stop(tag: &std::ffi::CStr) {
request(0, DUMP_STATS_AT, tag.as_ptr() as usize);
request(0, STOP_INSTRUMENTATION, 0);
}