Add GNU LGPL headers to all .c .C and .h files
[oweals/cde.git] / cde / programs / dtksh / ksh93 / src / lib / libast / include / national.h
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these librararies and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 /* $XConsortium: national.h /main/3 1995/11/01 17:38:14 rswiston $ */
24 /***************************************************************
25 *                                                              *
26 *                      AT&T - PROPRIETARY                      *
27 *                                                              *
28 *        THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF        *
29 *                    AT&T BELL LABORATORIES                    *
30 *         AND IS NOT TO BE DISCLOSED OR USED EXCEPT IN         *
31 *            ACCORDANCE WITH APPLICABLE AGREEMENTS             *
32 *                                                              *
33 *          Copyright (c) 1993 AT&T Bell Laboratories           *
34 *              Unpublished & Not for Publication               *
35 *                     All Rights Reserved                      *
36 *                                                              *
37 *       The copyright notice above does not evidence any       *
38 *      actual or intended publication of such source code      *
39 *                                                              *
40 *               This software was created by the               *
41 *           Advanced Software Technology Department            *
42 *                    AT&T Bell Laboratories                    *
43 *                                                              *
44 *               For further information contact                *
45 *                    {ulysses,attmail}!dgk                     *
46 *                     dgk@ulysses.att.com                      *
47 *                   David Korn 908-582-7975                    *
48 *                                                              *
49 ***************************************************************/
50
51 #line 1
52
53 /* %W% */
54
55 /*
56  *  national.h -  definitions for international character sets
57  *
58  *   David Korn
59  *   AT&T Bell Laboratories
60  *   Room 5D-112
61  *   Murray Hill, N. J. 07974
62  *   Tel. x7975
63  *
64  */
65
66 /*
67  * This data must be defined for each country in defs.c
68  */
69
70 #ifndef HIGHBIT
71 #   define HIGHBIT              (1<<(CHAR_BIT-1))
72 #endif /* HIGHBIT */
73
74 #ifndef ESS_MAXCHAR     /* allow multiple includes */
75
76 /*
77  *  This section may change from country to country
78  */
79
80 #define ESS_MAXCHAR     2       /* Maximum number of non-escape bytes
81                                    for any and all character sets */
82 #define CCS1_IN_SIZE    2
83 #define CCS1_OUT_SIZE   2
84 #define CCS2_IN_SIZE    1
85 #define CCS2_OUT_SIZE   1
86 #define CCS3_IN_SIZE    2
87 #define CCS3_OUT_SIZE   2
88
89 /*
90  * This part is generic
91  */
92
93 #define MARKER          0x100   /* Must be invalid character */
94 #define ESS2            0x8e    /* Escape to char set 2 */
95 #define ESS3            0x8f    /* Escape to char set 3 */
96 #define ESS_SETMASK     (3<<(7*ESS_MAXCHAR))    /* character set bits */
97
98 #define echarset(c)     ((c)==ESS3?3:((c)==ESS2)?2:((c)>>7)&1)
99 #define icharset(i)     ((i)>>(7*ESS_MAXCHAR)&3)
100
101 #define in_csize(s)     int_charsize[s]
102 #define out_csize(s)    int_charsize[s+4]
103
104 extern char int_charsize[8];
105
106 #endif /* ESS_MAXCHAR */