Annotation of coherent/e/bin/cku179/ckcxla.h, revision 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.