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