Line data Source code
1 : //===- MSFStreamLayout.h - Describes the layout of a stream -----*- C++ -*-===//
2 : //
3 : // The LLVM Compiler Infrastructure
4 : //
5 : // This file is distributed under the University of Illinois Open Source
6 : // License. See LICENSE.TXT for details.
7 : //
8 : //===----------------------------------------------------------------------===//
9 :
10 : #ifndef LLVM_DEBUGINFO_MSF_MSFSTREAMLAYOUT_H
11 : #define LLVM_DEBUGINFO_MSF_MSFSTREAMLAYOUT_H
12 :
13 : #include "llvm/Support/Endian.h"
14 :
15 : #include <cstdint>
16 : #include <vector>
17 :
18 : namespace llvm {
19 : namespace msf {
20 :
21 : /// \brief Describes the layout of a stream in an MSF layout. A "stream" here
22 : /// is defined as any logical unit of data which may be arranged inside the MSF
23 : /// file as a sequence of (possibly discontiguous) blocks. When we want to read
24 : /// from a particular MSF Stream, we fill out a stream layout structure and the
25 : /// reader uses it to determine which blocks in the underlying MSF file contain
26 : /// the data, so that it can be pieced together in the right order.
27 9265 : class MSFStreamLayout {
28 : public:
29 : uint32_t Length;
30 : std::vector<support::ulittle32_t> Blocks;
31 : };
32 : } // namespace msf
33 : } // namespace llvm
34 :
35 : #endif // LLVM_DEBUGINFO_MSF_MSFSTREAMLAYOUT_H
|