1*35159Smarc /* 2*35159Smarc 3*35159Smarc * Copyright (c) 1984, 1985, 1986 AT&T 4*35159Smarc * All Rights Reserved 5*35159Smarc 6*35159Smarc * THIS IS UNPUBLISHED PROPRIETARY SOURCE 7*35159Smarc * CODE OF AT&T. 8*35159Smarc * The copyright notice above does not 9*35159Smarc * evidence any actual or intended 10*35159Smarc * publication of such source code. 11*35159Smarc 12*35159Smarc */ 13*35159Smarc 14*35159Smarc /* @(#)national.h 1.1 */ 15*35159Smarc 16*35159Smarc /* 17*35159Smarc * national.h - definitions for international character sets 18*35159Smarc * 19*35159Smarc * David Korn 20*35159Smarc * AT&T Bell Laboratories 21*35159Smarc * Room 5D-112 22*35159Smarc * Murray Hill, N. J. 07974 23*35159Smarc * Tel. x7975 24*35159Smarc * 25*35159Smarc */ 26*35159Smarc 27*35159Smarc /* 28*35159Smarc * This data must be defined for each country in defs.c 29*35159Smarc */ 30*35159Smarc 31*35159Smarc #ifndef HIGHBIT 32*35159Smarc # define HIGHBIT 0x80 33*35159Smarc #endif /* HIGHBIT */ 34*35159Smarc 35*35159Smarc #ifndef ESS_MAXCHAR /* allow multiple includes */ 36*35159Smarc 37*35159Smarc /* 38*35159Smarc * This section may change from country to country 39*35159Smarc */ 40*35159Smarc 41*35159Smarc #define ESS_MAXCHAR 2 /* Maximum number of non-escape bytes 42*35159Smarc for any and all character sets */ 43*35159Smarc #define CCS1_IN_SIZE 2 44*35159Smarc #define CCS1_OUT_SIZE 2 45*35159Smarc #define CCS2_IN_SIZE 1 46*35159Smarc #define CCS2_OUT_SIZE 1 47*35159Smarc #define CCS3_IN_SIZE 2 48*35159Smarc #define CCS3_OUT_SIZE 2 49*35159Smarc 50*35159Smarc /* 51*35159Smarc * This part is generic 52*35159Smarc */ 53*35159Smarc 54*35159Smarc #define MARKER 0x100 /* Must be invalid character */ 55*35159Smarc #define ESS2 0x8e /* Escape to char set 2 */ 56*35159Smarc #define ESS3 0x8f /* Escape to char set 3 */ 57*35159Smarc #define ESS_SETMASK (3<<(7*ESS_MAXCHAR)) /* character set bits */ 58*35159Smarc 59*35159Smarc #define echarset(c) ((c)==ESS3?3:((c)==ESS2)?2:((c)>>7)&1) 60*35159Smarc #define icharset(i) ((i)>>(7*ESS_MAXCHAR)&3) 61*35159Smarc 62*35159Smarc #define in_csize(s) int_charsize[s] 63*35159Smarc #define out_csize(s) int_charsize[s+4] 64*35159Smarc 65*35159Smarc extern char int_charsize[8]; 66*35159Smarc 67*35159Smarc #endif /* ESS_MAXCHAR */ 68