176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman/* 276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * Codepage data structure as generated by cptable.pl 376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman */ 476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#ifndef CODEPAGE_H 576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define CODEPAGE_H 676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#include <stdint.h> 876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define CODEPAGE_MAGIC UINT64_C(0x51d21eb158a8b3d4) 1076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmanstruct codepage { 1276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman uint64_t magic; 1376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman uint32_t reserved[6]; 1476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman uint8_t upper[256]; /* Codepage upper case table */ 1676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman uint8_t lower[256]; /* Codepage lower case table */ 1776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman /* 1976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * The primary Unicode match is the same case, i.e. A -> A, 2076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * the secondary Unicode match is the opposite case, i.e. A -> a. 2176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman */ 2276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman uint16_t uni[2][256]; /* Primary and alternate Unicode matches */ 2376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman}; 2476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 2576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmanextern const struct codepage codepage; 2676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 2776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#endif /* CODEPAGE_H */ 28