home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume8 / ansitape / part02 / tables.c < prev   
Encoding:
C/C++ Source or Header  |  1987-03-02  |  5.6 KB  |  157 lines

  1. /* Mapping of EBCDIC codes to ASCII equivalents. */
  2. static char     to_ascii_table[256] = {
  3.                        '\000', '\001', '\002', '\003',
  4.                        '\234', '\011', '\206', '\177',
  5.                        '\227', '\215', '\216', '\013',
  6.                        '\014', '\015', '\016', '\017',
  7.                        '\020', '\021', '\022', '\023',
  8.                        '\235', '\205', '\010', '\207',
  9.                        '\030', '\031', '\222', '\217',
  10.                        '\034', '\035', '\036', '\037',
  11.                        '\200', '\201', '\202', '\203',
  12.                        '\204', '\012', '\027', '\033',
  13.                        '\210', '\211', '\212', '\213',
  14.                        '\214', '\005', '\006', '\007',
  15.                        '\220', '\221', '\026', '\223',
  16.                        '\224', '\225', '\226', '\004',
  17.                        '\230', '\231', '\232', '\233',
  18.                        '\024', '\025', '\236', '\032',
  19.                        '\040', '\240', '\241', '\242',
  20.                        '\243', '\244', '\245', '\246',
  21.                        '\247', '\250', '\133', '\056',
  22.                        '\074', '\050', '\053', '\041',
  23.                        '\046', '\251', '\252', '\253',
  24.                        '\254', '\255', '\256', '\257',
  25.                        '\260', '\261', '\135', '\044',
  26.                        '\052', '\051', '\073', '\136',
  27.                        '\055', '\057', '\262', '\263',
  28.                        '\264', '\265', '\266', '\267',
  29.                        '\270', '\271', '\174', '\054',
  30.                        '\045', '\137', '\076', '\077',
  31.                        '\272', '\273', '\274', '\275',
  32.                        '\276', '\277', '\300', '\301',
  33.                        '\302', '\140', '\072', '\043',
  34.                        '\100', '\047', '\075', '\042',
  35.                        '\303', '\141', '\142', '\143',
  36.                        '\144', '\145', '\146', '\147',
  37.                        '\150', '\151', '\304', '\305',
  38.                        '\306', '\307', '\310', '\311',
  39.                        '\312', '\152', '\153', '\154',
  40.                        '\155', '\156', '\157', '\160',
  41.                        '\161', '\162', '\313', '\314',
  42.                        '\315', '\316', '\317', '\320',
  43.                        '\321', '\176', '\163', '\164',
  44.                        '\165', '\166', '\167', '\170',
  45.                        '\171', '\172', '\322', '\323',
  46.                        '\324', '\325', '\326', '\327',
  47.                        '\330', '\331', '\332', '\333',
  48.                        '\334', '\335', '\336', '\337',
  49.                        '\340', '\341', '\342', '\343',
  50.                        '\344', '\345', '\346', '\347',
  51.                        '\173', '\101', '\102', '\103',
  52.                        '\104', '\105', '\106', '\107',
  53.                        '\110', '\111', '\350', '\351',
  54.                        '\352', '\353', '\354', '\355',
  55.                        '\175', '\112', '\113', '\114',
  56.                        '\115', '\116', '\117', '\120',
  57.                        '\121', '\122', '\356', '\357',
  58.                        '\360', '\361', '\362', '\363',
  59.                        '\134', '\237', '\123', '\124',
  60.                        '\125', '\126', '\127', '\130',
  61.                        '\131', '\132', '\364', '\365',
  62.                        '\366', '\367', '\370', '\371',
  63.                        '\060', '\061', '\062', '\063',
  64.                        '\064', '\065', '\066', '\067',
  65.                        '\070', '\071', '\372', '\373',
  66.                        '\374', '\375', '\376', '\377'
  67. };
  68.  
  69.  
  70. /* Mapping of ASCII codes to EBCDIC equivalents. */
  71. static char     to_ebcdic_table[256] = {
  72.                     '\000', '\001', '\002', '\003',
  73.                     '\067', '\055', '\056', '\057',
  74.                     '\026', '\005', '\045', '\013',
  75.                     '\014', '\015', '\016', '\017',
  76.                     '\020', '\021', '\022', '\023',
  77.                     '\074', '\075', '\062', '\046',
  78.                     '\030', '\031', '\077', '\047',
  79.                     '\034', '\035', '\036', '\037',
  80.                     '\100', '\117', '\177', '\173',
  81.                     '\133', '\154', '\120', '\175',
  82.                     '\115', '\135', '\134', '\116',
  83.                     '\153', '\140', '\113', '\141',
  84.                     '\360', '\361', '\362', '\363',
  85.                     '\364', '\365', '\366', '\367',
  86.                     '\370', '\371', '\172', '\136',
  87.                     '\114', '\176', '\156', '\157',
  88.                     '\174', '\301', '\302', '\303',
  89.                     '\304', '\305', '\306', '\307',
  90.                     '\310', '\311', '\321', '\322',
  91.                     '\323', '\324', '\325', '\326',
  92.                     '\327', '\330', '\331', '\342',
  93.                     '\343', '\344', '\345', '\346',
  94.                     '\347', '\350', '\351', '\112',
  95.                     '\340', '\132', '\137', '\155',
  96.                     '\171', '\201', '\202', '\203',
  97.                     '\204', '\205', '\206', '\207',
  98.                     '\210', '\211', '\221', '\222',
  99.                     '\223', '\224', '\225', '\226',
  100.                     '\227', '\230', '\231', '\242',
  101.                     '\243', '\244', '\245', '\246',
  102.                     '\247', '\250', '\251', '\300',
  103.                     '\152', '\320', '\241', '\007',
  104.                     '\040', '\041', '\042', '\043',
  105.                     '\044', '\025', '\006', '\027',
  106.                     '\050', '\051', '\052', '\053',
  107.                     '\054', '\011', '\012', '\033',
  108.                     '\060', '\061', '\032', '\063',
  109.                     '\064', '\065', '\066', '\010',
  110.                     '\070', '\071', '\072', '\073',
  111.                     '\004', '\024', '\076', '\341',
  112.                     '\101', '\102', '\103', '\104',
  113.                     '\105', '\106', '\107', '\110',
  114.                     '\111', '\121', '\122', '\123',
  115.                     '\124', '\125', '\126', '\127',
  116.                     '\130', '\131', '\142', '\143',
  117.                     '\144', '\145', '\146', '\147',
  118.                     '\150', '\151', '\160', '\161',
  119.                     '\162', '\163', '\164', '\165',
  120.                     '\166', '\167', '\170', '\200',
  121.                     '\212', '\213', '\214', '\215',
  122.                     '\216', '\217', '\220', '\232',
  123.                     '\233', '\234', '\235', '\236',
  124.                     '\237', '\240', '\252', '\253',
  125.                     '\254', '\255', '\256', '\257',
  126.                     '\260', '\261', '\262', '\263',
  127.                     '\264', '\265', '\266', '\267',
  128.                     '\270', '\271', '\272', '\273',
  129.                     '\274', '\275', '\276', '\277',
  130.                     '\312', '\313', '\314', '\315',
  131.                     '\316', '\317', '\332', '\333',
  132.                     '\334', '\335', '\336', '\337',
  133.                     '\352', '\353', '\354', '\355',
  134.                     '\356', '\357', '\372', '\373',
  135.                     '\374', '\375', '\376', '\377'
  136. };
  137.  
  138.  
  139. to_ebcdic(source, dest, count)
  140.     char           *source,
  141.                    *dest;
  142.     int             count;
  143. {
  144.     for (; count--;)
  145.     *(dest++) = to_ebcdic_table[0377 & *(source++)];
  146. }
  147.  
  148.  
  149. to_ascii(source, dest, count)
  150.     char           *source,
  151.                    *dest;
  152.     int             count;
  153. {
  154.     for (; count--;)
  155.     *(dest++) = to_ascii_table[0377 & *(source++)];
  156. }
  157.