clang
20.0.0git
include
clang
Lex
HeaderMapTypes.h
Go to the documentation of this file.
1
//===- HeaderMapTypes.h - Types for the header map format -------*- 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_CLANG_LEX_HEADERMAPTYPES_H
10
#define LLVM_CLANG_LEX_HEADERMAPTYPES_H
11
12
#include <cstdint>
13
14
namespace
clang
{
15
16
enum
{
17
HMAP_HeaderMagicNumber
= (
'h'
<< 24) | (
'm'
<< 16) | (
'a'
<< 8) |
'p'
,
18
HMAP_HeaderVersion
= 1,
19
HMAP_EmptyBucketKey
= 0
20
};
21
22
struct
HMapBucket
{
23
uint32_t
Key
;
// Offset (into strings) of key.
24
uint32_t
Prefix
;
// Offset (into strings) of value prefix.
25
uint32_t
Suffix
;
// Offset (into strings) of value suffix.
26
};
27
28
struct
HMapHeader
{
29
uint32_t
Magic
;
// Magic word, also indicates byte order.
30
uint16_t
Version
;
// Version number -- currently 1.
31
uint16_t
Reserved
;
// Reserved for future use - zero for now.
32
uint32_t
StringsOffset
;
// Offset to start of string pool.
33
uint32_t
NumEntries
;
// Number of entries in the string table.
34
uint32_t
NumBuckets
;
// Number of buckets (always a power of 2).
35
uint32_t
MaxValueLength
;
// Length of longest result path (excluding nul).
36
// An array of 'NumBuckets' HMapBucket objects follows this header.
37
// Strings follow the buckets, at StringsOffset.
38
};
39
40
}
// end namespace clang.
41
42
#endif
clang
The JSON file list parser is used to communicate input to InstallAPI.
Definition:
CalledOnceCheck.h:17
clang::HMAP_HeaderVersion
@ HMAP_HeaderVersion
Definition:
HeaderMapTypes.h:18
clang::HMAP_EmptyBucketKey
@ HMAP_EmptyBucketKey
Definition:
HeaderMapTypes.h:19
clang::HMAP_HeaderMagicNumber
@ HMAP_HeaderMagicNumber
Definition:
HeaderMapTypes.h:17
clang::HMapBucket
Definition:
HeaderMapTypes.h:22
clang::HMapBucket::Prefix
uint32_t Prefix
Definition:
HeaderMapTypes.h:24
clang::HMapBucket::Suffix
uint32_t Suffix
Definition:
HeaderMapTypes.h:25
clang::HMapBucket::Key
uint32_t Key
Definition:
HeaderMapTypes.h:23
clang::HMapHeader
Definition:
HeaderMapTypes.h:28
clang::HMapHeader::NumEntries
uint32_t NumEntries
Definition:
HeaderMapTypes.h:33
clang::HMapHeader::Version
uint16_t Version
Definition:
HeaderMapTypes.h:30
clang::HMapHeader::StringsOffset
uint32_t StringsOffset
Definition:
HeaderMapTypes.h:32
clang::HMapHeader::NumBuckets
uint32_t NumBuckets
Definition:
HeaderMapTypes.h:34
clang::HMapHeader::Reserved
uint16_t Reserved
Definition:
HeaderMapTypes.h:31
clang::HMapHeader::MaxValueLength
uint32_t MaxValueLength
Definition:
HeaderMapTypes.h:35
clang::HMapHeader::Magic
uint32_t Magic
Definition:
HeaderMapTypes.h:29
Generated on Fri Nov 22 2024 09:47:17 for clang by
1.9.6