blob: 30878f3e99e8722f09c1681c65e8b073565e1ca0 [file] [log] [blame]
Andrew Scull0372a572018-11-16 15:47:06 +00001//===- FileHeaderReader.h - XRay Trace File Header Reading Function -------===//
2//
Andrew Walbran16937d02019-10-22 13:54:20 +01003// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
Andrew Scull0372a572018-11-16 15:47:06 +00006//
7//===----------------------------------------------------------------------===//
8//
9// This file declares functions that can load an XRay log header from various
10// sources.
11//
12//===----------------------------------------------------------------------===//
13#ifndef LLVM_LIB_XRAY_FILEHEADERREADER_H_
14#define LLVM_LIB_XRAY_FILEHEADERREADER_H_
15
16#include "llvm/Support/DataExtractor.h"
17#include "llvm/Support/Error.h"
18#include "llvm/XRay/XRayRecord.h"
19#include <cstdint>
20
21namespace llvm {
22namespace xray {
23
24/// Convenience function for loading the file header given a data extractor at a
25/// specified offset.
26Expected<XRayFileHeader> readBinaryFormatHeader(DataExtractor &HeaderExtractor,
Olivier Deprezf4ef2d02021-04-20 13:36:24 +020027 uint64_t &OffsetPtr);
Andrew Scull0372a572018-11-16 15:47:06 +000028
29} // namespace xray
30} // namespace llvm
31
32#endif // LLVM_LIB_XRAY_FILEHEADERREADER_H_