1 //  Copyright (c) 2011-present, Facebook, Inc.  All rights reserved.
2 //  This source code is licensed under both the GPLv2 (found in the
3 //  COPYING file in the root directory) and Apache 2.0 License
4 //  (found in the LICENSE.Apache file in the root directory).
5 
6 #pragma once
7 
8 #include <cstdint>
9 
10 namespace ROCKSDB_NAMESPACE {
11 
12 // Represents the types of blocks used in the block based table format.
13 // See https://github.com/facebook/rocksdb/wiki/Rocksdb-BlockBasedTable-Format
14 // for details.
15 
16 enum class BlockType : uint8_t {
17   kData,
18   kFilter,
19   kProperties,
20   kCompressionDictionary,
21   kRangeDeletion,
22   kHashIndexPrefixes,
23   kHashIndexMetadata,
24   kMetaIndex,
25   kIndex,
26   // Note: keep kInvalid the last value when adding new enum values.
27   kInvalid
28 };
29 
30 }  // namespace ROCKSDB_NAMESPACE
31