Home | History | Annotate | Download | only in MSF
      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 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
     36