1/* Unicode name database interface */
2#ifndef Py_INTERNAL_UCNHASH_H
3#define Py_INTERNAL_UCNHASH_H
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8#ifndef Py_BUILD_CORE
9# error "this header requires Py_BUILD_CORE define"
10#endif
11
12/* revised ucnhash CAPI interface (exported through a "wrapper") */
13
14#define PyUnicodeData_CAPSULE_NAME "unicodedata._ucnhash_CAPI"
15
16typedef struct {
17
18 /* Get name for a given character code.
19 Returns non-zero if success, zero if not.
20 Does not set Python exceptions. */
21 int (*getname)(Py_UCS4 code, char* buffer, int buflen,
22 int with_alias_and_seq);
23
24 /* Get character code for a given name.
25 Same error handling as for getname(). */
26 int (*getcode)(const char* name, int namelen, Py_UCS4* code,
27 int with_named_seq);
28
29} _PyUnicode_Name_CAPI;
30
31#ifdef __cplusplus
32}
33#endif
34#endif /* !Py_INTERNAL_UCNHASH_H */
35