brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 42390a2 Raw
48 lines · c
1//===- MachOStructs.h -------------------------------------------*- C++ -*-===//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-exception6//7//===----------------------------------------------------------------------===//8//9// This file defines structures used in the MachO object file format. Note that10// unlike llvm/BinaryFormat/MachO.h, the structs here are defined in terms of11// endian- and alignment-compatibility wrappers.12//13//===----------------------------------------------------------------------===//14 15#ifndef LLD_MACHO_MACHO_STRUCTS_H16#define LLD_MACHO_MACHO_STRUCTS_H17 18#include "llvm/Support/Endian.h"19 20namespace lld::structs {21 22struct nlist_64 {23  llvm::support::ulittle32_t n_strx;24  uint8_t n_type;25  uint8_t n_sect;26  llvm::support::ulittle16_t n_desc;27  llvm::support::ulittle64_t n_value;28};29 30struct nlist {31  llvm::support::ulittle32_t n_strx;32  uint8_t n_type;33  uint8_t n_sect;34  llvm::support::ulittle16_t n_desc;35  llvm::support::ulittle32_t n_value;36};37 38struct entry_point_command {39  llvm::support::ulittle32_t cmd;40  llvm::support::ulittle32_t cmdsize;41  llvm::support::ulittle64_t entryoff;42  llvm::support::ulittle64_t stacksize;43};44 45} // namespace lld::structs46 47#endif48