OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef NET_DER_PARSER_H_ | 5 #ifndef NET_DER_PARSER_H_ |
6 #define NET_DER_PARSER_H_ | 6 #define NET_DER_PARSER_H_ |
7 | 7 |
| 8 #include <stdint.h> |
| 9 |
8 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
| 11 #include "base/macros.h" |
9 #include "base/time/time.h" | 12 #include "base/time/time.h" |
10 #include "net/base/net_export.h" | 13 #include "net/base/net_export.h" |
11 #include "net/der/input.h" | 14 #include "net/der/input.h" |
12 #include "net/der/tag.h" | 15 #include "net/der/tag.h" |
13 | 16 |
14 namespace net { | 17 namespace net { |
15 | 18 |
16 namespace der { | 19 namespace der { |
17 | 20 |
18 class BitString; | 21 class BitString; |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 // and is a constructed tag, and creates a new Parser from the value. | 142 // and is a constructed tag, and creates a new Parser from the value. |
140 bool ReadConstructed(Tag tag, Parser* out) WARN_UNUSED_RESULT; | 143 bool ReadConstructed(Tag tag, Parser* out) WARN_UNUSED_RESULT; |
141 | 144 |
142 // A more specific form of ReadConstructed that expects the current tag | 145 // A more specific form of ReadConstructed that expects the current tag |
143 // to be 0x30 (SEQUENCE). | 146 // to be 0x30 (SEQUENCE). |
144 bool ReadSequence(Parser* out) WARN_UNUSED_RESULT; | 147 bool ReadSequence(Parser* out) WARN_UNUSED_RESULT; |
145 | 148 |
146 // Expects the current tag to be kInteger, and calls ParseUint64 on the | 149 // Expects the current tag to be kInteger, and calls ParseUint64 on the |
147 // current value. Note that DER-encoded integers are arbitrary precision, | 150 // current value. Note that DER-encoded integers are arbitrary precision, |
148 // so this method will fail for valid input that represents an integer | 151 // so this method will fail for valid input that represents an integer |
149 // outside the range of an int64. | 152 // outside the range of an int64_t. |
150 // | 153 // |
151 // Note that on failure the Parser is left in an undefined state (the | 154 // Note that on failure the Parser is left in an undefined state (the |
152 // input may or may not have been advanced). | 155 // input may or may not have been advanced). |
153 bool ReadUint64(uint64_t* out) WARN_UNUSED_RESULT; | 156 bool ReadUint64(uint64_t* out) WARN_UNUSED_RESULT; |
154 | 157 |
155 // Reads a BIT STRING. On success fills |out| and returns true. | 158 // Reads a BIT STRING. On success fills |out| and returns true. |
156 // | 159 // |
157 // Note that on failure the Parser is left in an undefined state (the | 160 // Note that on failure the Parser is left in an undefined state (the |
158 // input may or may not have been advanced). | 161 // input may or may not have been advanced). |
159 bool ReadBitString(BitString* out) WARN_UNUSED_RESULT; | 162 bool ReadBitString(BitString* out) WARN_UNUSED_RESULT; |
(...skipping 19 matching lines...) Expand all Loading... |
179 Mark advance_mark_; | 182 Mark advance_mark_; |
180 | 183 |
181 DISALLOW_COPY(Parser); | 184 DISALLOW_COPY(Parser); |
182 }; | 185 }; |
183 | 186 |
184 } // namespace der | 187 } // namespace der |
185 | 188 |
186 } // namespace net | 189 } // namespace net |
187 | 190 |
188 #endif // NET_DER_PARSER_H_ | 191 #endif // NET_DER_PARSER_H_ |
OLD | NEW |