1 // SPDX-License-Identifier: GPL-2.0 1 2 #include <linux/minmax.h> 3 #include <linux/string.h> 4 #include <asm/ebcdic.h> 5 #include <asm/ipl.h> 6 7 /* VM IPL PARM routines */ 8 size_t ipl_block_get_ascii_vmparm(char *dest, 9 const struct 10 { 11 int i; 12 size_t len; 13 char has_lowercase = 0; 14 15 len = 0; 16 if ((ipb->ccw.vm_flags & IPL_PB0_CCW_V 17 (ipb->ccw.vm_parm_len > 0)) { 18 19 len = min_t(size_t, size - 1, 20 memcpy(dest, ipb->ccw.vm_parm, 21 /* If at least one character i 22 * case; otherwise we convert 23 */ 24 for (i = 0; i < len; i++) 25 if ((dest[i] > 0x80 && 26 (dest[i] > 0x90 && 27 (dest[i] > 0xa1 && 28 has_lowercase 29 break; 30 } 31 if (!has_lowercase) 32 EBC_TOLOWER(dest, len) 33 EBCASC(dest, len); 34 } 35 dest[len] = 0; 36 37 return len; 38 } 39
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.