1413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber/*
2413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber * Copyright (C) 2008 The Android Open Source Project
3413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber *
4413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber * Licensed under the Apache License, Version 2.0 (the "License");
5413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber * you may not use this file except in compliance with the License.
6413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber * You may obtain a copy of the License at
7413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber *
8413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber *      http://www.apache.org/licenses/LICENSE-2.0
9413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber *
10413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber * Unless required by applicable law or agreed to in writing, software
11413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber * distributed under the License is distributed on an "AS IS" BASIS,
12413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber * See the License for the specific language governing permissions and
14413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber * limitations under the License.
15413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber */
16413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber
17413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber#ifndef AUTODETECT_H
18413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber#define AUTODETECT_H
19413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber
20413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber#include <inttypes.h>
21413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber
22413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber// flags used for native encoding detection
23413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huberenum {
24413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber    kEncodingNone               = 0,
25413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber    kEncodingShiftJIS           = (1 << 0),
26413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber    kEncodingGBK                = (1 << 1),
27413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber    kEncodingBig5               = (1 << 2),
28413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber    kEncodingEUCKR              = (1 << 3),
29413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber
30413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber    kEncodingAll                = (kEncodingShiftJIS | kEncodingGBK | kEncodingBig5 | kEncodingEUCKR),
31413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber};
32413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber
33413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber
34413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber// returns a bitfield containing the possible native encodings for the given character
35413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huberextern uint32_t findPossibleEncodings(int ch);
36413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber
37413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber#endif // AUTODETECT_H
38