home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 3 Comm / 03-Comm.zip / CKPM5X_S.ZIP / CKCXLA.H < prev    next >
C/C++ Source or Header  |  1990-03-02  |  4KB  |  126 lines

  1. /* File ckcxla.h -- Character-set-related definitions, system independent */
  2.  
  3. /* Codes for Kermit Transfer Syntax Level */
  4.  
  5. #define TS_L0 0         /* Level 0 (normal ASCII) */
  6. #define TS_L1 1         /* Level 1 (one character set other than ASCII) */
  7. #define TS_L2 2         /* Level 2 (multiple character sets in same file) */
  8.  
  9. #define UNK 63         /* Symbol to use for unknown character (63 = ?) */
  10.  
  11. /* Codes for languages */
  12.  
  13. #define L_ASCII       0  /* ASCII, American English */
  14. #define L_USASCII     0  /* ASCII, American English */
  15. #define L_BRITISH     1  /* United Kingdom English */
  16. #define L_DUTCH       2  /* Dutch */
  17. #define L_FINNISH     3  /* Finnish */
  18. #define L_FRENCH      4  /* French */
  19. #define L_FR_CANADIAN 5  /* French Canadian */
  20. #define L_GERMAN      6  /* German */
  21. #define L_HUNGARIAN   7  /* Hungarian */
  22. #define L_ITALIAN     8  /* Italian */
  23. #define L_NORWEGIAN   9  /* Norwegian */
  24. #define L_PORTUGUESE 10  /* Portuguese */
  25. #define L_SPANISH    11  /* Spanish */
  26. #define L_SWEDISH    12  /* Swedish */
  27. #define L_SWISS      13  /* Swiss */
  28. #define L_DANISH     14  /* Danish */
  29. #define MAXLANG      15  /* Number of languages */
  30.  
  31. /* Ones below are not used yet */
  32. #define L_RUSSIAN    15
  33. #define L_JAPANESE   16
  34. #define L_CHINESE    17
  35. #define L_KOREAN     18
  36. #define L_ARABIC     19
  37. #define L_HEBREW     20
  38. #define L_GREEK      21
  39. #define L_TURKISH    22
  40. /* Obviously this list needs to be expanded and organized */
  41.  
  42. /* Designators for 8-bit single-byte ISO and other standard character sets */
  43. /* to be used in Kermit's transfer syntax.  Note that symbols must be unique */
  44. /* in the first 8 characters, because some C preprocessors have this limit. */
  45.  
  46. #define TC_NORMAL  0  /* Normal traditional ordinary Kermit transfer syntax */
  47. #define TC_USASCII 0  /* (for convenience) */
  48. #define USASCII    0  /* (for convenience) */
  49. #define TC_1LATIN  1  /* ISO 8859-1, Latin-1 */
  50. #define MAXTCSETS  1  /* Highest transfer character-set number */
  51.  
  52. /* The ones below are not used yet... */
  53. #define TC_2LATIN  2  /* ISO 8859-2, Latin-2 */
  54. #define TC_3LATIN  3  /* ISO 8859-3, Latin-3 */
  55. #define TC_4LATIN  4  /* ISO 8859-4, Latin-4 */
  56. #define TC_5LATIN  5  /* ISO 8859-9, Latin-5 */
  57. #define TC_CYRILL  6  /* ISO-8859-5, Latin/Cyrillic */
  58. #define TC_ARABIC  7  /* ISO-8859-6, Latin/Arabic */
  59. #define TC_GREEK   8  /* ISO-8859-7, Latin/Greek */
  60. #define TC_HEBREW  9  /* ISO-8859-8, Latin/Hebrew */
  61. #define TC_CZECH  10  /* Czech Standard */
  62. #define TC_JIS208 11  /* Japanese JIS X 0208 multibyte set */
  63. #define TC_CHINES 12  /* Chinese Standard GB 2312-80 */
  64. #define TC_KOREAN 13  /* Korean KS C 5601-1987 */
  65. #define TC_I10646 14  /* ISO DP 10646 (not defined yet!) */
  66. #define TC_UNICOD 15  /* Unicode (not defined yet!) */
  67. /* and possibly many others... */
  68.  
  69. /* Structure for character-set information */
  70.  
  71. struct csinfo {
  72.     char *name;                /* Name of character set */
  73.     int size;                /* Size (128 or 256)     */
  74.     int code;                /* Like TC_1LATIN, etc.  */
  75.     char *designator;            /* Designator, like I2/100 = Latin-1 */
  76. };
  77.  
  78. /* Structure for language information */
  79.  
  80. struct langinfo {
  81.     int id;                /* Language ID code (L_whatever) */
  82.     int fc;                /* File character set to use */
  83.     int tc;                /* Transfer character set to use */
  84.     char *description;            /* Description of language */
  85. };
  86.  
  87. /* Now take in the system-specific definitions */
  88.  
  89. #ifdef BSD4                /* BSD Unix */
  90. #include "ckuxla.h"
  91. #endif
  92.  
  93. #ifdef BSD29                /* BSD Unix */
  94. #include "ckuxla.h"
  95. #endif
  96.  
  97. #ifdef UXIII                /* AT&T UNIX */
  98. #include "ckuxla.h"
  99. #endif
  100.  
  101. #ifdef V7                /* Bell V7 UNIX */
  102. #include "ckuxla.h"
  103. #endif
  104.  
  105. #ifdef vms                /* VAX/VMS */
  106. #include "ckuxla.h"
  107. #endif
  108.  
  109. #ifdef MAC                /* Macintosh */
  110. #include "ckmxla.h"
  111. #endif
  112.  
  113. #ifdef OS2                /* IBM OS/2 */
  114. #include "ckoxla.h"
  115. #endif
  116.  
  117. #ifdef AMIGA                /* Commodore Amiga */
  118. #include "ckixla.h"
  119. #endif
  120.  
  121. #ifdef datageneral            /* Data General MV AOS/VS */
  122. #include "ckdxla.h"
  123. #endif
  124.  
  125. /* end of ckcxla.c */
  126.