1: /*
   2:   Author: Frank da Cruz (fdc@columbia.edu, FDCCU@CUVMA.BITNET),
   3:   Columbia University Center for Computing Activities.
   4:   First released January 1985.
   5:   Copyright (C) 1985, 1992, Trustees of Columbia University in the City of New
   6:   York.  Permission is granted to any individual or institution to use this
   7:   software as long as it is not sold for profit.  This copyright notice must be
   8:   retained.  This software may not be included in commercial products without
   9:   written permission of Columbia University.
  10: */
  11: #ifndef CKCXLA_H            /* Guard against multiple inclusion */
  12: #define CKCXLA_H
  13: 
  14: #ifdef NOCSETS
  15: #ifdef KANJI
  16: #undef KANJI
  17: #endif /* KANJI */
  18: #ifdef CYRILLIC
  19: #undef CYRILLIC
  20: #endif /* CYRILLIC */
  21: #ifdef LATIN2
  22: #undef LATIN2
  23: #endif /* LATIN2 */
  24: 
  25: #else /* Rest of this file... */
  26: 
  27: #ifndef NOLATIN2            /* If they didn't say "no Latin-2" */
  28: #ifndef LATIN2              /* Then if LATIN2 isn't already */
  29: #define LATIN2              /* defined, define it. */
  30: #endif /* LATIN2 */
  31: #endif /* NOLATIN2 */
  32: 
  33: #ifndef NOCYRIL             /* If they didn't say "no Cyrillic" */
  34: #ifndef CYRILLIC            /* Then if CYRILLIC isn't already */
  35: #define CYRILLIC            /* defined, define it. */
  36: #endif /* CYRILLIC */
  37: #endif /* NOCYRIL */
  38: 
  39: /* File ckcxla.h -- Character-set-related definitions, system independent */
  40: 
  41: /* Codes for Kermit Transfer Syntax Level (obsolete) */
  42: 
  43: #define TS_L0 0      /* Level 0 (Transparent) */
  44: #define TS_L1 1      /* Level 1 (one standard character set) */
  45: #define TS_L2 2      /* Level 2 (multiple character sets in same file) */
  46: 
  47: #define UNK 63       /* Symbol to use for unknown character (63 = ?) */
  48: 
  49: /*
  50:   Codes for the base alphabet of a given character set.
  51:   These are assigned in roughly ISO 8859 order.
  52:   (Each is assumed to include ASCII/Roman.)
  53: */
  54: #define AL_UNIV    0            /* Universal (like ISO 10646) */
  55: #define AL_ROMAN   1            /* Roman (Latin) alphabet */
  56: #define AL_CYRIL   2            /* Cyrillic alphabet */
  57: #define AL_ARABIC  3            /* Arabic */
  58: #define AL_GREEK   4            /* Greek */
  59: #define AL_HEBREW  5            /* Hebrew */
  60: #define AL_KANA    6            /* Japanese Katakana */
  61: #define AL_JAPAN   7            /* Japanese Katakana+Kanji ideograms */
  62: #define AL_HAN     8            /* Chinese/Japanese/Korean ideograms */
  63: #define AL_INDIA   9            /* Indian scripts (ISCII) */
  64:                     /* Add more here... */
  65: #define AL_UNK   999            /* Unknown (transparent) */
  66: 
  67: /* Codes for languages */
  68: /*
  69:   NOTE: It would perhaps be better to use ISO 639-1988 2-letter "Codes for
  70:   Representation of Names of Languages" here, shown in the comments below.
  71: */
  72: #define L_ASCII       0  /* EN ASCII, English */
  73: #define L_USASCII     0  /* EN ASCII, English */
  74: #define L_DUTCH       1  /* NL Dutch */
  75: #define L_FINNISH     2  /* FI Finnish */
  76: #define L_FRENCH      3  /* FR French */
  77: #define L_GERMAN      4  /* DE German */
  78: #define L_HUNGARIAN   5  /* HU Hungarian */
  79: #define L_ITALIAN     6  /* IT Italian */
  80: #define L_NORWEGIAN   7  /* NO Norwegian */
  81: #define L_PORTUGUESE  8  /* PT Portuguese */
  82: #define L_SPANISH     9  /* ES Spanish */
  83: #define L_SWEDISH    10  /* SV Swedish */
  84: #define L_SWISS      11  /* RM Swiss (Rhaeto-Romance) */
  85: #define L_DANISH     12  /* DA Danish */
  86: #define L_ICELANDIC  13  /* IS Icelandic */
  87: 
  88: #ifdef CYRILLIC      /* RU Russian */
  89: #define L_RUSSIAN 14
  90: #ifndef KANJI
  91: #define MAXLANG 14
  92: #endif /* KANJI */
  93: #endif /* CYRILLIC */
  94: 
  95: #ifdef KANJI         /* JA Japanese */
  96: #ifndef CYRILLIC
  97: #define L_JAPANESE 14
  98: #define MAXLANG 14
  99: #else
 100: #define L_JAPANESE 15
 101: #define MAXLANG 15
 102: #endif /* CYRILLIC */
 103: #endif /* KANJI */
 104: 
 105: #ifndef MAXLANG
 106: #define MAXLANG 14
 107: #endif /* MAXLANG */
 108: 
 109: #ifdef COMMENT
 110: /*
 111:   The ones below are not used yet.  This list needs to be expanded and
 112:   organized, and something must be done about the hard coded numbers, because
 113:   they will be wrong if CYRILLIC and/or KANJI are deselected.  But we can't do
 114:   "#define L_CHINESE L_JAPANESE + 1" because that causes recursion in the
 115:   preprocessor.
 116: */
 117: #define L_CHINESE    16         /* ZH */
 118: #define L_KOREAN     17         /* KO */
 119: #define L_ARABIC     18         /* AR */
 120: #define L_HEBREW     19         /* IW */
 121: #define L_GREEK      20         /* EL */
 122: #define L_TURKISH    21         /* TR */
 123: /* etc... */
 124: #endif /* COMMENT */
 125: 
 126: /*
 127:   File character-sets are defined in the system-specific ck?xla.h file,
 128:   except for the following one, which must be available to all versions:
 129: */
 130: #define FC_TRANSP  254          /* Transparent */
 131: 
 132: /*
 133:   Designators for Kermit's transfer character sets.  These are all standard
 134:   sets, or based on them.  Symbols must be unique in the first 8 characters,
 135:   because some C preprocessors have this limit.
 136: */
 137: /* LIST1 */
 138: #define TC_TRANSP  0   /* Transparent, no character translation */
 139: #define TC_USASCII 1   /* US 7-bit ASCII */
 140: #define TC_1LATIN  2   /* ISO 8859-1, Latin-1 */
 141: #define TC_2LATIN  3   /* ISO 8859-2, Latin-2 */
 142: #define TC_CYRILL  4   /* ISO 8859-5, Latin/Cyrillic */
 143: #define TC_JEUC    5   /* Japanese EUC */
 144: 
 145: #define MAXTCSETS  5   /* Highest Transfer Character Set Number */
 146: 
 147: #ifdef COMMENT
 148: /*
 149:   Not used yet.
 150: */
 151: #define TC_3LATIN  6  /* ISO 8859-3, Latin-3 */
 152: #define TC_4LATIN  7  /* ISO 8859-4, Latin-4 */
 153: #define TC_5LATIN  8  /* ISO 8859-9, Latin-5 */
 154: #define TC_ARABIC  9  /* ISO-8859-6, Latin/Arabic */
 155: #define TC_GREEK  10  /* ISO-8859-7, Latin/Greek */
 156: #define TC_HEBREW 11  /* ISO-8859-8, Latin/Hebrew */
 157: #define TC_JIS208 12  /* Japanese JIS X 0208 multibyte set */
 158: #define TC_CHINES 13  /* Chinese Standard GB 2312-80 */
 159: #define TC_KOREAN 14  /* Korean KS C 5601-1987 */
 160: #define TC_I10646 15  /* ISO DIS 10646 (not defined yet) */
 161: /* etc... */
 162: #endif /* COMMENT */
 163: 
 164: /* Structure for character-set information */
 165: 
 166: struct csinfo {
 167:     char *name;             /* Name of character set */
 168:     int size;               /* Size (128 or 256)     */
 169:     int code;               /* Like TC_1LATIN, etc.  */
 170:     char *designator;           /* Designator, like I2/100 = Latin-1 */
 171:     int alphabet;           /* Base alphabet */
 172: };
 173: 
 174: /* Structure for language information */
 175: 
 176: struct langinfo {
 177:     int id;             /* Language ID code (L_whatever) */
 178:     int fc;             /* File character set to use */
 179:     int tc;             /* Transfer character set to use */
 180:     char *description;          /* Description of language */
 181: };
 182: 
 183: /* Now take in the system-specific definitions */
 184: 
 185: #ifdef UNIX
 186: #include "ckuxla.h"
 187: #endif /* UNIX */
 188: 
 189: #ifdef OSK              /* OS-9 */
 190: #include "ckuxla.h"
 191: #endif /* OS-9 */
 192: 
 193: #ifdef VMS              /* VAX/VMS */
 194: #include "ckuxla.h"
 195: #endif /* VMS */
 196: 
 197: #ifdef GEMDOS               /* Atari ST */
 198: #include "ckuxla.h"
 199: #endif /* GEMDOS */
 200: 
 201: #ifdef MAC              /* Macintosh */
 202: #include "ckmxla.h"
 203: #endif /* MAC */
 204: 
 205: #ifdef OS2              /* OS/2 */
 206: #include "ckuxla.h"         /* Uses big UNIX version */
 207: #endif /* OS2 */
 208: 
 209: #ifdef AMIGA                /* Commodore Amiga */
 210: #include "ckuxla.h"
 211: #endif /* AMIGA */
 212: 
 213: #ifdef datageneral          /* Data General MV AOS/VS */
 214: #include "ckuxla.h"
 215: #endif /* datageneral */
 216: 
 217: #endif /* NOCSETS */
 218: 
 219: #endif /* CKCXLA_H */
 220: 
 221: #ifdef KANJI
 222: _PROTOTYP( int xkanjf, (void) );
 223: _PROTOTYP( int xkanjz, (int (*)(char)) );
 224: _PROTOTYP( int xkanji, (int, int (*)(char)) );
 225: #endif /* KANJI */
 226: 
 227: /* End of ckcxla.h */

Defined struct's

Defined macros

AL_ARABIC defined in line 57; never used
AL_GREEK defined in line 58; never used
AL_HAN defined in line 62; never used
AL_HEBREW defined in line 59; never used
AL_INDIA defined in line 63; never used
AL_JAPAN defined in line 61; used 8 times
AL_KANA defined in line 60; never used
AL_ROMAN defined in line 55; used 26 times
AL_UNIV defined in line 54; never used
AL_UNK defined in line 65; used 4 times
CKCXLA_H defined in line 12; used 1 times
  • in line 11
L_ARABIC defined in line 119; never used
L_ASCII defined in line 72; never used
L_CHINESE defined in line 117; never used
L_DANISH defined in line 85; used 2 times
L_DUTCH defined in line 74; used 2 times
L_FINNISH defined in line 75; used 2 times
L_FRENCH defined in line 76; used 11 times
L_GERMAN defined in line 77; used 2 times
L_GREEK defined in line 121; never used
L_HEBREW defined in line 120; never used
L_HUNGARIAN defined in line 78; used 2 times
L_ICELANDIC defined in line 86; used 2 times
L_ITALIAN defined in line 79; used 2 times
L_JAPANESE defined in line 100; used 2 times
L_KOREAN defined in line 118; never used
L_NORWEGIAN defined in line 80; used 2 times
L_PORTUGUESE defined in line 81; used 2 times
L_SPANISH defined in line 82; used 2 times
L_SWEDISH defined in line 83; used 2 times
L_SWISS defined in line 84; used 1 times
L_TURKISH defined in line 122; never used
MAXLANG defined in line 106; used 2 times
TC_1LATIN defined in line 140; used 20 times
TC_3LATIN defined in line 151; never used
TC_4LATIN defined in line 152; never used
TC_5LATIN defined in line 153; never used
TC_ARABIC defined in line 154; never used
TC_CHINES defined in line 158; never used
TC_GREEK defined in line 155; never used
TC_HEBREW defined in line 156; never used
TC_I10646 defined in line 160; never used
TC_JEUC defined in line 143; used 11 times
TC_JIS208 defined in line 157; never used
TC_KOREAN defined in line 159; never used
TS_L0 defined in line 43; used 1 times
TS_L1 defined in line 44; never used
TS_L2 defined in line 45; used 1 times
UNK defined in line 47; used 662 times

Usage of this include

Last modified: 1992-11-24
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 3502
Valid CSS Valid XHTML 1.0 Strict