Annotation of coherent/g/usr/bin/ckermit/ckcxla.h, revision 1.1

1.1     ! root        1: /*
        !             2:   Author: Frank da Cruz ([email protected], [email protected]),
        !             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 */

unix.superglobalmegacorp.com

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