17db96d56Sopenharmony_ci/* Unicode name database interface */ 27db96d56Sopenharmony_ci#ifndef Py_INTERNAL_UCNHASH_H 37db96d56Sopenharmony_ci#define Py_INTERNAL_UCNHASH_H 47db96d56Sopenharmony_ci#ifdef __cplusplus 57db96d56Sopenharmony_ciextern "C" { 67db96d56Sopenharmony_ci#endif 77db96d56Sopenharmony_ci 87db96d56Sopenharmony_ci#ifndef Py_BUILD_CORE 97db96d56Sopenharmony_ci# error "this header requires Py_BUILD_CORE define" 107db96d56Sopenharmony_ci#endif 117db96d56Sopenharmony_ci 127db96d56Sopenharmony_ci/* revised ucnhash CAPI interface (exported through a "wrapper") */ 137db96d56Sopenharmony_ci 147db96d56Sopenharmony_ci#define PyUnicodeData_CAPSULE_NAME "unicodedata._ucnhash_CAPI" 157db96d56Sopenharmony_ci 167db96d56Sopenharmony_citypedef struct { 177db96d56Sopenharmony_ci 187db96d56Sopenharmony_ci /* Get name for a given character code. 197db96d56Sopenharmony_ci Returns non-zero if success, zero if not. 207db96d56Sopenharmony_ci Does not set Python exceptions. */ 217db96d56Sopenharmony_ci int (*getname)(Py_UCS4 code, char* buffer, int buflen, 227db96d56Sopenharmony_ci int with_alias_and_seq); 237db96d56Sopenharmony_ci 247db96d56Sopenharmony_ci /* Get character code for a given name. 257db96d56Sopenharmony_ci Same error handling as for getname(). */ 267db96d56Sopenharmony_ci int (*getcode)(const char* name, int namelen, Py_UCS4* code, 277db96d56Sopenharmony_ci int with_named_seq); 287db96d56Sopenharmony_ci 297db96d56Sopenharmony_ci} _PyUnicode_Name_CAPI; 307db96d56Sopenharmony_ci 317db96d56Sopenharmony_ci#ifdef __cplusplus 327db96d56Sopenharmony_ci} 337db96d56Sopenharmony_ci#endif 347db96d56Sopenharmony_ci#endif /* !Py_INTERNAL_UCNHASH_H */ 35