]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/include/llvm/BinaryFormat/MsgPack.def
MFV r348548: 9617 too-frequent TXG sync causes excessive write inflation
[FreeBSD/FreeBSD.git] / contrib / llvm / include / llvm / BinaryFormat / MsgPack.def
1 //===- MsgPack.def - MessagePack definitions --------------------*- 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 /// \file
11 /// Macros for running through MessagePack enumerators.
12 ///
13 //===----------------------------------------------------------------------===//
14
15 #if !(                                                                         \
16     defined HANDLE_MP_FIRST_BYTE || defined HANDLE_MP_FIX_BITS ||              \
17     defined HANDLE_MP_FIX_BITS_MASK || defined HANDLE_MP_FIX_MAX ||            \
18     defined HANDLE_MP_FIX_LEN || defined HANDLE_MP_FIX_MIN)
19 #error "Missing macro definition of HANDLE_MP*"
20 #endif
21
22 #ifndef HANDLE_MP_FIRST_BYTE
23 #define HANDLE_MP_FIRST_BYTE(ID, NAME)
24 #endif
25
26 #ifndef HANDLE_MP_FIX_BITS
27 #define HANDLE_MP_FIX_BITS(ID, NAME)
28 #endif
29
30 #ifndef HANDLE_MP_FIX_BITS_MASK
31 #define HANDLE_MP_FIX_BITS_MASK(ID, NAME)
32 #endif
33
34 #ifndef HANDLE_MP_FIX_MAX
35 #define HANDLE_MP_FIX_MAX(ID, NAME)
36 #endif
37
38 #ifndef HANDLE_MP_FIX_LEN
39 #define HANDLE_MP_FIX_LEN(ID, NAME)
40 #endif
41
42 #ifndef HANDLE_MP_FIX_MIN
43 #define HANDLE_MP_FIX_MIN(ID, NAME)
44 #endif
45
46 HANDLE_MP_FIRST_BYTE(0xc0, Nil)
47 HANDLE_MP_FIRST_BYTE(0xc2, False)
48 HANDLE_MP_FIRST_BYTE(0xc3, True)
49 HANDLE_MP_FIRST_BYTE(0xc4, Bin8)
50 HANDLE_MP_FIRST_BYTE(0xc5, Bin16)
51 HANDLE_MP_FIRST_BYTE(0xc6, Bin32)
52 HANDLE_MP_FIRST_BYTE(0xc7, Ext8)
53 HANDLE_MP_FIRST_BYTE(0xc8, Ext16)
54 HANDLE_MP_FIRST_BYTE(0xc9, Ext32)
55 HANDLE_MP_FIRST_BYTE(0xca, Float32)
56 HANDLE_MP_FIRST_BYTE(0xcb, Float64)
57 HANDLE_MP_FIRST_BYTE(0xcc, UInt8)
58 HANDLE_MP_FIRST_BYTE(0xcd, UInt16)
59 HANDLE_MP_FIRST_BYTE(0xce, UInt32)
60 HANDLE_MP_FIRST_BYTE(0xcf, UInt64)
61 HANDLE_MP_FIRST_BYTE(0xd0, Int8)
62 HANDLE_MP_FIRST_BYTE(0xd1, Int16)
63 HANDLE_MP_FIRST_BYTE(0xd2, Int32)
64 HANDLE_MP_FIRST_BYTE(0xd3, Int64)
65 HANDLE_MP_FIRST_BYTE(0xd4, FixExt1)
66 HANDLE_MP_FIRST_BYTE(0xd5, FixExt2)
67 HANDLE_MP_FIRST_BYTE(0xd6, FixExt4)
68 HANDLE_MP_FIRST_BYTE(0xd7, FixExt8)
69 HANDLE_MP_FIRST_BYTE(0xd8, FixExt16)
70 HANDLE_MP_FIRST_BYTE(0xd9, Str8)
71 HANDLE_MP_FIRST_BYTE(0xda, Str16)
72 HANDLE_MP_FIRST_BYTE(0xdb, Str32)
73 HANDLE_MP_FIRST_BYTE(0xdc, Array16)
74 HANDLE_MP_FIRST_BYTE(0xdd, Array32)
75 HANDLE_MP_FIRST_BYTE(0xde, Map16)
76 HANDLE_MP_FIRST_BYTE(0xdf, Map32)
77
78 HANDLE_MP_FIX_BITS(0x00, PositiveInt)
79 HANDLE_MP_FIX_BITS(0x80, Map)
80 HANDLE_MP_FIX_BITS(0x90, Array)
81 HANDLE_MP_FIX_BITS(0xa0, String)
82 HANDLE_MP_FIX_BITS(0xe0, NegativeInt)
83
84 HANDLE_MP_FIX_BITS_MASK(0x80, PositiveInt)
85 HANDLE_MP_FIX_BITS_MASK(0xf0, Map)
86 HANDLE_MP_FIX_BITS_MASK(0xf0, Array)
87 HANDLE_MP_FIX_BITS_MASK(0xe0, String)
88 HANDLE_MP_FIX_BITS_MASK(0xe0, NegativeInt)
89
90 HANDLE_MP_FIX_MAX(0x7f, PositiveInt)
91 HANDLE_MP_FIX_MAX(0x0f, Map)
92 HANDLE_MP_FIX_MAX(0x0f, Array)
93 HANDLE_MP_FIX_MAX(0x1f, String)
94
95 HANDLE_MP_FIX_LEN(0x01, Ext1)
96 HANDLE_MP_FIX_LEN(0x02, Ext2)
97 HANDLE_MP_FIX_LEN(0x04, Ext4)
98 HANDLE_MP_FIX_LEN(0x08, Ext8)
99 HANDLE_MP_FIX_LEN(0x10, Ext16)
100
101 HANDLE_MP_FIX_MIN(-0x20, NegativeInt)
102
103 #undef HANDLE_MP_FIRST_BYTE
104 #undef HANDLE_MP_FIX_BITS
105 #undef HANDLE_MP_FIX_BITS_MASK
106 #undef HANDLE_MP_FIX_MAX
107 #undef HANDLE_MP_FIX_LEN
108 #undef HANDLE_MP_FIX_MIN