Annotation of coherent/e/bin/cku179/ckcxla.h, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.