1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 BASE_I18N_UTF8_VALIDATOR_TABLES_H_ 6 #define BASE_I18N_UTF8_VALIDATOR_TABLES_H_ 7 8 #include <stddef.h> 9 #include <stdint.h> 10 11 #include "base/macros.h" 12 13 namespace base { 14 namespace internal { 15 16 // The tables for all states; a list of entries of the form (right_shift, 17 // next_state, next_state, ....). The right_shifts are used to reduce the 18 // overall size of the table. The table only covers bytes in the range 19 // [0x80, 0xFF] to save space. 20 extern const uint8_t kUtf8ValidatorTables[]; 21 22 extern const size_t kUtf8ValidatorTablesSize; 23 24 // The offset of the INVALID state in kUtf8ValidatorTables. 25 enum { 26 I18N_UTF8_VALIDATOR_INVALID_INDEX = 129 27 }; 28 29 } // namespace internal 30 } // namespace base 31 32 #endif // BASE_I18N_UTF8_VALIDATOR_TABLES_H_ 33