^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0-or-later */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * Copyright (c) International Business Machines Corp., 2000,2002
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * uniupr.h - Unicode compressed case ranges
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) #ifndef UNIUPR_NOUPPER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) * Latin upper case
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) signed char CifsUniUpperTable[512] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 000-00f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 010-01f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 020-02f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 030-03f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 040-04f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 050-05f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) 0, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, /* 060-06f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, 0, 0, 0, 0, 0, /* 070-07f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 080-08f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 090-09f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0a0-0af */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0b0-0bf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0c0-0cf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0d0-0df */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, /* 0e0-0ef */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) -32, -32, -32, -32, -32, -32, -32, 0, -32, -32, -32, -32, -32, -32, -32, 121, /* 0f0-0ff */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, /* 100-10f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, /* 110-11f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, /* 120-12f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, /* 130-13f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, /* 140-14f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, /* 150-15f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, /* 160-16f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, /* 170-17f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, /* 180-18f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, /* 190-19f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, /* 1a0-1af */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) -1, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, 0, /* 1b0-1bf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 0, 0, 0, 0, 0, -1, -2, 0, -1, -2, 0, -1, -2, 0, -1, 0, /* 1c0-1cf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, -79, 0, -1, /* 1d0-1df */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, /* 1e0-1ef */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 0, 0, -1, -2, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, /* 1f0-1ff */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) /* Upper case range - Greek */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) static signed char UniCaseRangeU03a0[47] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -38, -37, -37, -37, /* 3a0-3af */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) 0, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, /* 3b0-3bf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) -32, -32, -31, -32, -32, -32, -32, -32, -32, -32, -32, -32, -64,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) -63, -63,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) /* Upper case range - Cyrillic */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) static signed char UniCaseRangeU0430[48] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, /* 430-43f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, /* 440-44f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) 0, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, 0, -80, -80, /* 450-45f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) /* Upper case range - Extended cyrillic */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) static signed char UniCaseRangeU0490[61] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, /* 490-49f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, /* 4a0-4af */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, /* 4b0-4bf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, -1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) /* Upper case range - Extended latin and greek */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) static signed char UniCaseRangeU1e00[509] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, /* 1e00-1e0f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, /* 1e10-1e1f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, /* 1e20-1e2f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, /* 1e30-1e3f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, /* 1e40-1e4f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, /* 1e50-1e5f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, /* 1e60-1e6f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, /* 1e70-1e7f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, /* 1e80-1e8f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, -59, 0, -1, 0, -1, /* 1e90-1e9f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, /* 1ea0-1eaf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, /* 1eb0-1ebf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, /* 1ec0-1ecf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, /* 1ed0-1edf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, /* 1ee0-1eef */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, /* 1ef0-1eff */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, /* 1f00-1f0f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 1f10-1f1f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, /* 1f20-1f2f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, /* 1f30-1f3f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 1f40-1f4f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) 0, 8, 0, 8, 0, 8, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, /* 1f50-1f5f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, /* 1f60-1f6f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) 74, 74, 86, 86, 86, 86, 100, 100, 0, 0, 112, 112, 126, 126, 0, 0, /* 1f70-1f7f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, /* 1f80-1f8f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, /* 1f90-1f9f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, /* 1fa0-1faf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) 8, 8, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 1fb0-1fbf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 1fc0-1fcf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 1fd0-1fdf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 8, 8, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 1fe0-1fef */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) /* Upper case range - Wide latin */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) static signed char UniCaseRangeUff40[27] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) 0, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, /* ff40-ff4f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) * Upper Case Range
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) const struct UniCaseRange CifsUniUpperRange[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) {0x03a0, 0x03ce, UniCaseRangeU03a0},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) {0x0430, 0x045f, UniCaseRangeU0430},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) {0x0490, 0x04cc, UniCaseRangeU0490},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) {0x1e00, 0x1ffc, UniCaseRangeU1e00},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) {0xff40, 0xff5a, UniCaseRangeUff40},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) {0}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) #ifndef UNIUPR_NOLOWER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) * Latin lower case
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) signed char CifsUniLowerTable[512] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 000-00f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 010-01f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 020-02f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 030-03f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) 0, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 040-04f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 0, 0, 0, /* 050-05f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 060-06f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 070-07f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 080-08f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 090-09f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0a0-0af */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0b0-0bf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0c0-0cf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) 32, 32, 32, 32, 32, 32, 32, 0, 32, 32, 32, 32, 32, 32, 32, 0, /* 0d0-0df */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0e0-0ef */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0f0-0ff */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 100-10f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 110-11f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 120-12f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, /* 130-13f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, /* 140-14f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 150-15f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 160-16f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) 1, 0, 1, 0, 1, 0, 1, 0, -121, 1, 0, 1, 0, 1, 0, 0, /* 170-17f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 79, 0, /* 180-18f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 190-19f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, /* 1a0-1af */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, /* 1b0-1bf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) 0, 0, 0, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 1, 0, 1, /* 1c0-1cf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, /* 1d0-1df */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 1e0-1ef */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) 0, 2, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 1f0-1ff */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) /* Lower case range - Greek */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) static signed char UniCaseRangeL0380[44] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) 0, 0, 0, 0, 0, 0, 38, 0, 37, 37, 37, 0, 64, 0, 63, 63, /* 380-38f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) 0, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 390-39f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) 32, 32, 0, 32, 32, 32, 32, 32, 32, 32, 32, 32,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) /* Lower case range - Cyrillic */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) static signed char UniCaseRangeL0400[48] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) 0, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 0, 80, 80, /* 400-40f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 410-41f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 420-42f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) /* Lower case range - Extended cyrillic */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) static signed char UniCaseRangeL0490[60] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 490-49f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 4a0-4af */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 4b0-4bf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) /* Lower case range - Extended latin and greek */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) static signed char UniCaseRangeL1e00[504] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 1e00-1e0f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 1e10-1e1f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 1e20-1e2f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 1e30-1e3f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 1e40-1e4f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 1e50-1e5f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 1e60-1e6f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 1e70-1e7f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 1e80-1e8f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, /* 1e90-1e9f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 1ea0-1eaf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 1eb0-1ebf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 1ec0-1ecf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 1ed0-1edf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, /* 1ee0-1eef */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 1ef0-1eff */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) 0, 0, 0, 0, 0, 0, 0, 0, -8, -8, -8, -8, -8, -8, -8, -8, /* 1f00-1f0f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) 0, 0, 0, 0, 0, 0, 0, 0, -8, -8, -8, -8, -8, -8, 0, 0, /* 1f10-1f1f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) 0, 0, 0, 0, 0, 0, 0, 0, -8, -8, -8, -8, -8, -8, -8, -8, /* 1f20-1f2f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) 0, 0, 0, 0, 0, 0, 0, 0, -8, -8, -8, -8, -8, -8, -8, -8, /* 1f30-1f3f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) 0, 0, 0, 0, 0, 0, 0, 0, -8, -8, -8, -8, -8, -8, 0, 0, /* 1f40-1f4f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) 0, 0, 0, 0, 0, 0, 0, 0, 0, -8, 0, -8, 0, -8, 0, -8, /* 1f50-1f5f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) 0, 0, 0, 0, 0, 0, 0, 0, -8, -8, -8, -8, -8, -8, -8, -8, /* 1f60-1f6f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 1f70-1f7f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) 0, 0, 0, 0, 0, 0, 0, 0, -8, -8, -8, -8, -8, -8, -8, -8, /* 1f80-1f8f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) 0, 0, 0, 0, 0, 0, 0, 0, -8, -8, -8, -8, -8, -8, -8, -8, /* 1f90-1f9f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) 0, 0, 0, 0, 0, 0, 0, 0, -8, -8, -8, -8, -8, -8, -8, -8, /* 1fa0-1faf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) 0, 0, 0, 0, 0, 0, 0, 0, -8, -8, -74, -74, -9, 0, 0, 0, /* 1fb0-1fbf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) 0, 0, 0, 0, 0, 0, 0, 0, -86, -86, -86, -86, -9, 0, 0, 0, /* 1fc0-1fcf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) 0, 0, 0, 0, 0, 0, 0, 0, -8, -8, -100, -100, 0, 0, 0, 0, /* 1fd0-1fdf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) 0, 0, 0, 0, 0, 0, 0, 0, -8, -8, -112, -112, -7, 0, 0, 0, /* 1fe0-1fef */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) 0, 0, 0, 0, 0, 0, 0, 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) /* Lower case range - Wide latin */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) static signed char UniCaseRangeLff20[27] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) 0, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* ff20-ff2f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) * Lower Case Range
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) const struct UniCaseRange CifsUniLowerRange[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) {0x0380, 0x03ab, UniCaseRangeL0380},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) {0x0400, 0x042f, UniCaseRangeL0400},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) {0x0490, 0x04cb, UniCaseRangeL0490},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) {0x1e00, 0x1ff7, UniCaseRangeL1e00},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) {0xff20, 0xff3a, UniCaseRangeLff20},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) {0}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) #endif