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