Changeset View
Changeset View
Standalone View
Standalone View
lib/libc/locale/collate.h
Show First 20 Lines • Show All 47 Lines • ▼ Show 20 Lines | |||||
* sets COLL_WEIGHTS_MAX to 0. | * sets COLL_WEIGHTS_MAX to 0. | ||||
*/ | */ | ||||
#if COLL_WEIGHTS_MAX == 0 | #if COLL_WEIGHTS_MAX == 0 | ||||
#undef COLL_WEIGHTS_MAX | #undef COLL_WEIGHTS_MAX | ||||
#define COLL_WEIGHTS_MAX 10 | #define COLL_WEIGHTS_MAX 10 | ||||
#endif | #endif | ||||
#define COLLATE_STR_LEN 24 /* should be 64-bit multiple */ | #define COLLATE_STR_LEN 24 /* should be 64-bit multiple */ | ||||
#define COLLATE_FORMAT_VERSION_LEN 12 | |||||
#define COLLATE_VERSION "BSD 1.0\n" | #define COLLATE_VERSION "BSD 1.0\n" | ||||
#define COLLATE_MAX_PRIORITY (0x7fffffff) /* max signed value */ | #define COLLATE_MAX_PRIORITY (0x7fffffff) /* max signed value */ | ||||
#define COLLATE_SUBST_PRIORITY (0x40000000) /* bit indicates subst table */ | #define COLLATE_SUBST_PRIORITY (0x40000000) /* bit indicates subst table */ | ||||
#define DIRECTIVE_UNDEF 0x00 | #define DIRECTIVE_UNDEF 0x00 | ||||
#define DIRECTIVE_FORWARD 0x01 | #define DIRECTIVE_FORWARD 0x01 | ||||
#define DIRECTIVE_BACKWARD 0x02 | #define DIRECTIVE_BACKWARD 0x02 | ||||
#define DIRECTIVE_POSITION 0x04 | #define DIRECTIVE_POSITION 0x04 | ||||
#define DIRECTIVE_UNDEFINED 0x08 /* special last weight for UNDEFINED */ | #define DIRECTIVE_UNDEFINED 0x08 /* special last weight for UNDEFINED */ | ||||
#define DIRECTIVE_DIRECTION_MASK (DIRECTIVE_FORWARD | DIRECTIVE_BACKWARD) | #define DIRECTIVE_DIRECTION_MASK (DIRECTIVE_FORWARD | DIRECTIVE_BACKWARD) | ||||
/* | /* | ||||
* The collate file format is as follows: | * The collate file format is as follows: | ||||
* | * | ||||
* char version[COLLATE_STR_LEN]; // must be COLLATE_VERSION | * char format_version[COLLATE_FORMAT_VERSION_LEN]; // must be COLLATE_VERSION | ||||
* char data_version[XLOCALE_VERSION_LEN]; // NUL-terminated, may be empty | |||||
* collate_info_t info; // see below, includes padding | * collate_info_t info; // see below, includes padding | ||||
* collate_char_pri_t char_data[256]; // 8 bit char values | * collate_char_pri_t char_data[256]; // 8 bit char values | ||||
* collate_subst_t subst[*]; // 0 or more substitutions | * collate_subst_t subst[*]; // 0 or more substitutions | ||||
* collate_chain_pri_t chains[*]; // 0 or more chains | * collate_chain_pri_t chains[*]; // 0 or more chains | ||||
* collate_large_pri_t large[*]; // extended char priorities | * collate_large_pri_t large[*]; // extended char priorities | ||||
* | * | ||||
* Note that all structures must be 32-bit aligned, as each structure | * Note that all structures must be 32-bit aligned, as each structure | ||||
* contains 32-bit member fields. The entire file is mmap'd, so its | * contains 32-bit member fields. The entire file is mmap'd, so its | ||||
▲ Show 20 Lines • Show All 61 Lines • Show Last 20 Lines |