#ifndef LLVM_BINARYFORMAT_XCOFF_H
#define LLVM_BINARYFORMAT_XCOFF_H
#include <stddef.h>
#include <stdint.h>
namespace llvm {
class StringRef;
template <unsigned> class SmallString;
template <typename T> class Expected;
namespace XCOFF {
constexpr size_t FileNamePadSize = …;
constexpr size_t NameSize = …;
constexpr size_t AuxFileEntNameSize = …;
constexpr size_t FileHeaderSize32 = …;
constexpr size_t FileHeaderSize64 = …;
constexpr size_t AuxFileHeaderSize32 = …;
constexpr size_t AuxFileHeaderSize64 = …;
constexpr size_t AuxFileHeaderSizeShort = …;
constexpr size_t SectionHeaderSize32 = …;
constexpr size_t SectionHeaderSize64 = …;
constexpr size_t SymbolTableEntrySize = …;
constexpr size_t RelocationSerializationSize32 = …;
constexpr size_t RelocationSerializationSize64 = …;
constexpr size_t ExceptionSectionEntrySize32 = …;
constexpr size_t ExceptionSectionEntrySize64 = …;
constexpr uint16_t RelocOverflow = …;
constexpr uint8_t AllocRegNo = …;
enum ReservedSectionNum : int16_t { … };
enum MagicNumber : uint16_t { … };
static constexpr uint8_t XR_SIGN_INDICATOR_MASK = …;
static constexpr uint8_t XR_FIXUP_INDICATOR_MASK = …;
static constexpr uint8_t XR_BIASED_LENGTH_MASK = …;
enum AuxHeaderFlags64 : uint16_t { … };
enum XCOFFInterpret : uint16_t { … };
enum FileFlag : uint16_t { … };
enum StorageMappingClass : uint8_t { … };
enum SectionTypeFlags : int32_t { … };
enum DwarfSectionSubtypeFlags : int32_t { … };
enum StorageClass : uint8_t { … };
enum SymbolType : uint8_t { … };
enum VisibilityType : uint16_t { … };
constexpr uint16_t VISIBILITY_MASK = …;
enum RelocationType : uint8_t { … };
enum CFileStringType : uint8_t { … };
enum CFileLangId : uint8_t { … };
enum CFileCpuId : uint8_t { … };
enum SymbolAuxType : uint8_t { … };
StringRef getMappingClassString(XCOFF::StorageMappingClass SMC);
StringRef getRelocationTypeString(XCOFF::RelocationType Type);
Expected<SmallString<32>> parseParmsType(uint32_t Value, unsigned FixedParmsNum,
unsigned FloatingParmsNum);
Expected<SmallString<32>> parseParmsTypeWithVecInfo(uint32_t Value,
unsigned FixedParmsNum,
unsigned FloatingParmsNum,
unsigned VectorParmsNum);
Expected<SmallString<32>> parseVectorParmsType(uint32_t Value,
unsigned ParmsNum);
struct TracebackTable { … };
enum ExtendedTBTableFlag : uint8_t { … };
StringRef getNameForTracebackTableLanguageId(TracebackTable::LanguageID LangId);
SmallString<32> getExtendedTBTableFlagString(uint8_t Flag);
struct CsectProperties { … };
}
}
#endif