| /* | |
| * EBCDIC to ASCII conversion | |
| * | |
| * This function moved here from arch/powerpc/platforms/iseries/viopath.c | |
| * | |
| * (C) Copyright 2000-2004 IBM Corporation | |
| * | |
| * This program is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU General Public License as | |
| * published by the Free Software Foundation; either version 2 of the | |
| * License, or (at your option) anyu later version. | |
| * | |
| * This program is distributed in the hope that it will be useful, but | |
| * WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| * General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU General Public License | |
| * along with this program; if not, write to the Free Software Foundation, | |
| * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| * | |
| */ | |
| #include <linux/module.h> | |
| unsigned char e2a(unsigned char x) | |
| { | |
| switch (x) { | |
| case 0xF0: | |
| return '0'; | |
| case 0xF1: | |
| return '1'; | |
| case 0xF2: | |
| return '2'; | |
| case 0xF3: | |
| return '3'; | |
| case 0xF4: | |
| return '4'; | |
| case 0xF5: | |
| return '5'; | |
| case 0xF6: | |
| return '6'; | |
| case 0xF7: | |
| return '7'; | |
| case 0xF8: | |
| return '8'; | |
| case 0xF9: | |
| return '9'; | |
| case 0xC1: | |
| return 'A'; | |
| case 0xC2: | |
| return 'B'; | |
| case 0xC3: | |
| return 'C'; | |
| case 0xC4: | |
| return 'D'; | |
| case 0xC5: | |
| return 'E'; | |
| case 0xC6: | |
| return 'F'; | |
| case 0xC7: | |
| return 'G'; | |
| case 0xC8: | |
| return 'H'; | |
| case 0xC9: | |
| return 'I'; | |
| case 0xD1: | |
| return 'J'; | |
| case 0xD2: | |
| return 'K'; | |
| case 0xD3: | |
| return 'L'; | |
| case 0xD4: | |
| return 'M'; | |
| case 0xD5: | |
| return 'N'; | |
| case 0xD6: | |
| return 'O'; | |
| case 0xD7: | |
| return 'P'; | |
| case 0xD8: | |
| return 'Q'; | |
| case 0xD9: | |
| return 'R'; | |
| case 0xE2: | |
| return 'S'; | |
| case 0xE3: | |
| return 'T'; | |
| case 0xE4: | |
| return 'U'; | |
| case 0xE5: | |
| return 'V'; | |
| case 0xE6: | |
| return 'W'; | |
| case 0xE7: | |
| return 'X'; | |
| case 0xE8: | |
| return 'Y'; | |
| case 0xE9: | |
| return 'Z'; | |
| } | |
| return ' '; | |
| } | |
| EXPORT_SYMBOL(e2a); | |
| unsigned char* strne2a(unsigned char *dest, const unsigned char *src, size_t n) | |
| { | |
| int i; | |
| n = strnlen(src, n); | |
| for (i = 0; i < n; i++) | |
| dest[i] = e2a(src[i]); | |
| return dest; | |
| } |