FileHeaderReader.h revision 353358
1//===- FileHeaderReader.h - XRay Trace File Header Reading Function -------===//
2//
3// 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
6//
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,
27                                                uint32_t &OffsetPtr);
28
29} // namespace xray
30} // namespace llvm
31
32#endif // LLVM_LIB_XRAY_FILEHEADERREADER_H_
33