xref: /aosp_15_r20/external/cronet/net/http/transport_security_state_source.h (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 // Copyright 2017 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef NET_HTTP_TRANSPORT_SECURITY_STATE_SOURCE_H_
6 #define NET_HTTP_TRANSPORT_SECURITY_STATE_SOURCE_H_
7 
8 #include <stddef.h>
9 #include <stdint.h>
10 
11 #include "base/memory/raw_ptr_exclusion.h"
12 #include "net/base/net_export.h"
13 
14 namespace net {
15 
16 // kNoReportURI is a placeholder for when a pinset does not have a report URI.
17 NET_EXPORT_PRIVATE extern const char kNoReportURI[];
18 
19 struct TransportSecurityStateSource {
20   struct Pinset {
21     // This field is not a raw_ptr<> because it was filtered by the rewriter
22     // for: #global-scope
23     RAW_PTR_EXCLUSION const char* const* const accepted_pins;
24     // This field is not a raw_ptr<> because it was filtered by the rewriter
25     // for: #global-scope
26     RAW_PTR_EXCLUSION const char* const* const rejected_pins;
27     const char* const report_uri;
28   };
29 
30   const uint8_t* huffman_tree;
31   size_t huffman_tree_size;
32   const uint8_t* preloaded_data;
33   size_t preloaded_bits;
34   size_t root_position;
35   // This field is not a raw_ptr<> because it was filtered by the rewriter for:
36   // #global-scope
37   RAW_PTR_EXCLUSION const Pinset* pinsets;
38   size_t pinsets_count;
39 };
40 
41 }  // namespace net
42 
43 #endif  // NET_HTTP_TRANSPORT_SECURITY_STATE_SOURCE_H_
44