xref: /freebsd/contrib/llvm-project/llvm/include/llvm/TextAPI/FileTypes.h (revision 0fca6ea1d4eea4c934cfff25ac9ee8ad6fe95583)
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