xref: /freebsd/contrib/llvm-project/compiler-rt/lib/memprof/memprof_rawprofile.h (revision 349cc55c9796c4596a5b9904cd3281af295f878f)
1*349cc55cSDimitry Andric #ifndef MEMPROF_RAWPROFILE_H_
2*349cc55cSDimitry Andric #define MEMPROF_RAWPROFILE_H_
3*349cc55cSDimitry Andric 
4*349cc55cSDimitry Andric #include "memprof_mibmap.h"
5*349cc55cSDimitry Andric #include "sanitizer_common/sanitizer_procmaps.h"
6*349cc55cSDimitry Andric 
7*349cc55cSDimitry Andric namespace __memprof {
8*349cc55cSDimitry Andric 
9*349cc55cSDimitry Andric // TODO: pull these in from MemProfData.inc
10*349cc55cSDimitry Andric #define MEMPROF_RAW_MAGIC_64                                                   \
11*349cc55cSDimitry Andric   (u64)255 << 56 | (u64)'m' << 48 | (u64)'p' << 40 | (u64)'r' << 32 |          \
12*349cc55cSDimitry Andric       (u64)'o' << 24 | (u64)'f' << 16 | (u64)'r' << 8 | (u64)129
13*349cc55cSDimitry Andric 
14*349cc55cSDimitry Andric #define MEMPROF_RAW_VERSION 1ULL
15*349cc55cSDimitry Andric 
16*349cc55cSDimitry Andric u64 SerializeToRawProfile(MIBMapTy &BlockCache, MemoryMappingLayoutBase &Layout,
17*349cc55cSDimitry Andric                           char *&Buffer);
18*349cc55cSDimitry Andric 
19*349cc55cSDimitry Andric } // namespace __memprof
20*349cc55cSDimitry Andric 
21*349cc55cSDimitry Andric #endif // MEMPROF_RAWPROFILE_H_
22