home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / bsd_srcs / usr.bin / tn3270 / api / ebc_disp.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-04-26  |  5.1 KB  |  107 lines

  1. /*-
  2.  * Copyright (c) 1988 The Regents of the University of California.
  3.  * All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms, with or without
  6.  * modification, are permitted provided that the following conditions
  7.  * are met:
  8.  * 1. Redistributions of source code must retain the above copyright
  9.  *    notice, this list of conditions and the following disclaimer.
  10.  * 2. Redistributions in binary form must reproduce the above copyright
  11.  *    notice, this list of conditions and the following disclaimer in the
  12.  *    documentation and/or other materials provided with the distribution.
  13.  * 3. All advertising materials mentioning features or use of this software
  14.  *    must display the following acknowledgement:
  15.  *    This product includes software developed by the University of
  16.  *    California, Berkeley and its contributors.
  17.  * 4. Neither the name of the University nor the names of its contributors
  18.  *    may be used to endorse or promote products derived from this software
  19.  *    without specific prior written permission.
  20.  *
  21.  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  22.  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  23.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  24.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  25.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  26.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  27.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  28.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  29.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  30.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  31.  * SUCH DAMAGE.
  32.  */
  33.  
  34. #ifndef lint
  35. static char sccsid[] = "@(#)ebc_disp.c    4.2 (Berkeley) 4/26/91";
  36. #endif /* not lint */
  37.  
  38. /*
  39.  * Translate table to map EBCDIC into 3270 display codes.
  40.  */
  41.  
  42. unsigned char ebc_disp[256] = {
  43. /*00*/    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,
  44. /*08*/    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,
  45. /*10*/    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,
  46. /*18*/    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,
  47. /*20*/    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,
  48. /*28*/    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,
  49. /*30*/    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,
  50. /*38*/    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,    0x00,
  51. /*40*/    0x10,    0x0a,    0x0b,    0x1c,    0x1d,    0x1e,    0x1f,    0x2a,
  52. /*48*/    0x2b,    0x37,    0x1b,    0x32,    0x09,    0x0d,    0x35,    0x16,
  53. /*50*/    0x30,    0x38,    0x39,    0x3a,    0x3c,    0x3e,    0x3f,    0x40,
  54. /*58*/    0x41,    0x42,    0x19,    0x1a,    0xbf,    0x0c,    0xbe,    0x36,
  55. /*60*/    0x31,    0x14,    0x43,    0x44,    0x45,    0x46,    0x47,    0x48,
  56. /*68*/    0x49,    0x4a,    0x17,    0x33,    0x2e,    0x2f,    0x08,    0x18,
  57. /*70*/    0x4b,    0x4c,    0x4d,    0x4e,    0x4f,    0x50,    0x51,    0x52,
  58. /*78*/    0x53,    0x3d,    0x34,    0x2c,    0x2d,    0x12,    0x11,    0x13,
  59. /*80*/    0x54,    0x80,    0x81,    0x82,    0x83,    0x84,    0x85,    0x86,
  60. /*88*/    0x87,    0x88,    0x55,    0x56,    0x57,    0x58,    0x59,    0x5a,
  61. /*90*/    0x5b,    0x89,    0x8a,    0x8b,    0x8c,    0x8d,    0x8e,    0x8f,
  62. /*98*/    0x90,    0x91,    0x5c,    0x5d,    0x5e,    0x5f,    0x60,    0x61,
  63. /*A0*/    0x62,    0x3b,    0x92,    0x93,    0x94,    0x95,    0x96,    0x97,
  64. /*A8*/    0x98,    0x99,    0x63,    0x64,    0x65,    0x66,    0x67,    0x68,
  65. /*B0*/    0x69,    0x6a,    0x6b,    0x6c,    0x6d,    0x6e,    0x6f,    0x70,
  66. /*B8*/    0x71,    0x72,    0x73,    0x74,    0x75,    0x76,    0x77,    0x78,
  67. /*C0*/    0x0f,    0xa0,    0xa1,    0xa2,    0xa3,    0xa4,    0xa5,    0xa6,
  68. /*C8*/    0xa7,    0xa8,    0x79,    0x7a,    0x7b,    0x7c,    0x01,    0x02,
  69. /*D0*/    0x0e,    0xa9,    0xaa,    0xab,    0xac,    0xad,    0xae,    0xaf,
  70. /*D8*/    0xb0,    0xb1,    0x7d,    0x7e,    0x7f,    0x03,    0x04,    0x05,
  71. /*E0*/    0x15,    0x9a,    0xb2,    0xb3,    0xb4,    0xb5,    0xb6,    0xb7,
  72. /*E8*/    0xb8,    0xb9,    0x9b,    0x9c,    0x9d,    0x06,    0x07,    0x9e,
  73. /*F0*/    0x20,    0x21,    0x22,    0x23,    0x24,    0x25,    0x26,    0x27,
  74. /*F8*/    0x28,    0x29,    0xba,    0xbb,    0xbc,    0xbd,    0x9f,    0x00,
  75. };
  76.  
  77. /*
  78.  * Translate table to map 3270 display codes to EBCDIC.
  79.  */
  80.  
  81. unsigned char disp_ebc[192] = {
  82. /*00*/    0x00,    0xce,    0xcf,    0xdd,    0xde,    0xdf,    0xed,    0xee,
  83. /*08*/    0x6e,    0x4c,    0x41,    0x42,    0x5d,    0x4d,    0xd0,    0xc0,
  84. /*10*/    0x40,    0x7e,    0x7d,    0x7f,    0x61,    0xe0,    0x4f,    0x6a,
  85. /*18*/    0x6f,    0x5a,    0x5b,    0x4a,    0x43,    0x44,    0x45,    0x46,
  86. /*20*/    0xf0,    0xf1,    0xf2,    0xf3,    0xf4,    0xf5,    0xf6,    0xf7,
  87. /*28*/    0xf8,    0xf9,    0x47,    0x48,    0x7b,    0x7c,    0x6c,    0x6d,
  88. /*30*/    0x50,    0x60,    0x4b,    0x6b,    0x7a,    0x4e,    0x5f,    0x49,
  89. /*38*/    0x51,    0x52,    0x53,    0xa1,    0x54,    0x79,    0x55,    0x56,
  90. /*40*/    0x57,    0x58,    0x59,    0x62,    0x63,    0x64,    0x65,    0x66,
  91. /*48*/    0x67,    0x68,    0x69,    0x70,    0x71,    0x72,    0x73,    0x74,
  92. /*50*/    0x75,    0x76,    0x77,    0x78,    0x80,    0x8a,    0x8b,    0x8c,
  93. /*58*/    0x8d,    0x8e,    0x8f,    0x90,    0x9a,    0x9b,    0x9c,    0x9d,
  94. /*60*/    0x9e,    0x9f,    0xa0,    0xaa,    0xab,    0xac,    0xad,    0xae,
  95. /*68*/    0xaf,    0xb0,    0xb1,    0xb2,    0xb3,    0xb4,    0xb5,    0xb6,
  96. /*70*/    0xb7,    0xb8,    0xb9,    0xba,    0xbb,    0xbc,    0xbd,    0xbe,
  97. /*78*/    0xbf,    0xca,    0xcb,    0xcc,    0xcd,    0xda,    0xdb,    0xdc,
  98. /*80*/    0x81,    0x82,    0x83,    0x84,    0x85,    0x86,    0x87,    0x88,
  99. /*88*/    0x89,    0x91,    0x92,    0x93,    0x94,    0x95,    0x96,    0x97,
  100. /*90*/    0x98,    0x99,    0xa2,    0xa3,    0xa4,    0xa5,    0xa6,    0xa7,
  101. /*98*/    0xa8,    0xa9,    0xe1,    0xea,    0xeb,    0xec,    0xef,    0xfe,
  102. /*A0*/    0xc1,    0xc2,    0xc3,    0xc4,    0xc5,    0xc6,    0xc7,    0xc8,
  103. /*A8*/    0xc9,    0xd1,    0xd2,    0xd3,    0xd4,    0xd5,    0xd6,    0xd7,
  104. /*B0*/    0xd8,    0xd9,    0xe2,    0xe3,    0xe4,    0xe5,    0xe6,    0xe7,
  105. /*B8*/    0xe8,    0xe9,    0xfa,    0xfb,    0xfc,    0xfd,    0x5e,    0x5c,
  106. };
  107.