1 //===- llvm/TextAPI/FileTypes.h - TAPI Interface File -----------*- 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-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #ifndef LLVM_TEXTAPI_FILETYPES_H 10 #define LLVM_TEXTAPI_FILETYPES_H 11 12 #include "llvm/ADT/BitmaskEnum.h" 13 namespace llvm::MachO { 14 /// Defines the file type TextAPI files can represent. 15 enum FileType : unsigned { 16 /// Invalid file type. 17 Invalid = 0U, 18 19 /// \brief MachO Dynamic Library file. 20 MachO_DynamicLibrary = 1U << 0, 21 22 /// \brief MachO Dynamic Library Stub file. 23 MachO_DynamicLibrary_Stub = 1U << 1, 24 25 /// \brief MachO Bundle file. 26 MachO_Bundle = 1U << 2, 27 28 /// Text-based stub file (.tbd) version 1.0 29 TBD_V1 = 1U << 3, 30 31 /// Text-based stub file (.tbd) version 2.0 32 TBD_V2 = 1U << 4, 33 34 /// Text-based stub file (.tbd) version 3.0 35 TBD_V3 = 1U << 5, 36 37 /// Text-based stub file (.tbd) version 4.0 38 TBD_V4 = 1U << 6, 39 40 /// Text-based stub file (.tbd) version 5.0 41 TBD_V5 = 1U << 7, 42 43 All = ~0U, 44 45 LLVM_MARK_AS_BITMASK_ENUM(/*LargestValue=*/All), 46 }; 47 48 } // namespace llvm::MachO 49 #endif // LLVM_TEXTAPI_FILETYPES_H 50