2001-01-19 09:45:02 +00:00
|
|
|
/* Unicode name database interface */
|
2020-10-26 16:43:47 +01:00
|
|
|
#ifndef Py_INTERNAL_UCNHASH_H
|
|
|
|
|
#define Py_INTERNAL_UCNHASH_H
|
2001-01-19 09:45:02 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
2000-06-28 16:37:24 +00:00
|
|
|
|
2020-10-26 16:43:47 +01:00
|
|
|
#ifndef Py_BUILD_CORE
|
|
|
|
|
# error "this header requires Py_BUILD_CORE define"
|
|
|
|
|
#endif
|
|
|
|
|
|
2009-05-05 22:31:58 +00:00
|
|
|
/* revised ucnhash CAPI interface (exported through a "wrapper") */
|
|
|
|
|
|
|
|
|
|
#define PyUnicodeData_CAPSULE_NAME "unicodedata.ucnhash_CAPI"
|
2001-01-19 09:45:02 +00:00
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
|
|
|
|
|
/* Size of this struct */
|
|
|
|
|
int size;
|
|
|
|
|
|
2020-10-26 16:43:47 +01:00
|
|
|
// state which must be passed as the first parameter to getname()
|
|
|
|
|
// and getcode()
|
|
|
|
|
void *state;
|
|
|
|
|
|
2001-01-19 09:45:02 +00:00
|
|
|
/* Get name for a given character code. Returns non-zero if
|
2015-03-18 21:53:15 +02:00
|
|
|
success, zero if not. Does not set Python exceptions.
|
2006-03-09 23:38:20 +00:00
|
|
|
If self is NULL, data come from the default version of the database.
|
2006-03-10 11:20:04 +00:00
|
|
|
If it is not NULL, it should be a unicodedata.ucd_X_Y_Z object */
|
2020-10-26 16:43:47 +01:00
|
|
|
int (*getname)(void *state, PyObject *self, Py_UCS4 code,
|
|
|
|
|
char* buffer, int buflen,
|
2011-10-21 21:57:36 +03:00
|
|
|
int with_alias_and_seq);
|
2001-01-19 09:45:02 +00:00
|
|
|
|
|
|
|
|
/* Get character code for a given name. Same error handling
|
|
|
|
|
as for getname. */
|
2020-10-26 16:43:47 +01:00
|
|
|
int (*getcode)(void *state, PyObject *self,
|
|
|
|
|
const char* name, int namelen, Py_UCS4* code,
|
2011-10-21 21:57:36 +03:00
|
|
|
int with_named_seq);
|
2001-01-19 09:45:02 +00:00
|
|
|
|
|
|
|
|
} _PyUnicode_Name_CAPI;
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
}
|
|
|
|
|
#endif
|
2020-10-26 16:43:47 +01:00
|
|
|
#endif /* !Py_INTERNAL_UCNHASH_H */
|