1 #ifndef _CHARDEFS_H
2 #define _CHARDEFS_H
3 /* chardefs.h */
4 /*****************************************************************************/
5 /* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only                     */
6 /*                                                                           */
7 /* AS-Portierung                                                             */
8 /*                                                                           */
9 /* system-dependant definition of national-specific characters               */
10 /*                                                                           */
11 /* History:  2001-10-13 /AArnold - created this header                       */
12 /*                                                                           */
13 /*****************************************************************************/
14 
15 typedef enum
16 {
17   eCH_ae,
18   eCH_ee,
19   eCH_ie,
20   eCH_oe,
21   eCH_ue,
22   eCH_Ae,
23   eCH_Ee,
24   eCH_Ie,
25   eCH_Oe,
26   eCH_Ue,
27   eCH_sz,
28   eCH_e2,
29   eCH_mu,
30   eCH_agrave,
31   eCH_Agrave,
32   eCH_egrave,
33   eCH_Egrave,
34   eCH_igrave,
35   eCH_Igrave,
36   eCH_ograve,
37   eCH_Ograve,
38   eCH_ugrave,
39   eCH_Ugrave,
40   eCH_aacute,
41   eCH_Aacute,
42   eCH_eacute,
43   eCH_Eacute,
44   eCH_iacute,
45   eCH_Iacute,
46   eCH_oacute,
47   eCH_Oacute,
48   eCH_uacute,
49   eCH_Uacute,
50   eCH_acirc,
51   eCH_Acirc,
52   eCH_ecirc,
53   eCH_Ecirc,
54   eCH_icirc,
55   eCH_Icirc,
56   eCH_ocirc,
57   eCH_Ocirc,
58   eCH_ucirc,
59   eCH_Ucirc,
60   eCH_ccedil,
61   eCH_Ccedil,
62   eCH_ntilde,
63   eCH_Ntilde,
64   eCH_aring,
65   eCH_Aring,
66   eCH_aelig,
67   eCH_Aelig,
68   eCH_oslash,
69   eCH_Oslash,
70   eCH_iquest,
71   eCH_iexcl,
72   eCH_cnt
73 } tNLSCharacter;
74 
75 #ifdef __cplusplus
76 # include "cppops.h"
77 DefCPPOps_Enum(tNLSCharacter)
78 #endif
79 
80 typedef char tNLSCharacterTab[eCH_cnt][2];
81 
82 typedef enum
83 {
84   eCodepageASCII,
85   eCodepageISO8859_1,
86   eCodepageISO8859_15,
87   eCodepageKOI8_R,
88   eCodepage437,
89   eCodepage850,
90   eCodepage866,
91   eCodepage1251,
92   eCodepage1252,
93   eCodepageUTF8,
94   eCodepageCnt
95 } tCodepage;
96 
97 #ifdef __cplusplus
98 # include "cppops.h"
99 DefCPPOps_Enum(tCodepage)
100 #endif
101 
102 extern const tNLSCharacterTab *GetCharacterTab(tCodepage Codepage);
103 
104 extern const char NLS_HtmlCharacterTab[eCH_cnt][9];
105 
106 extern int CharTab_GetLength(const tNLSCharacterTab *pTab, tNLSCharacter Character);
107 
108 extern const char *CharTab_GetNULTermString(const tNLSCharacterTab *pTab, tNLSCharacter Character, char *pBuffer);
109 
110 extern unsigned UTF8ToUnicode(const char* *ppChr);
111 
112 extern void UnicodeToUTF8(char* *ppChr, unsigned Unicode);
113 
114 #endif /* _CHARDEFS_H */
115