diff options
Diffstat (limited to 'Include')
-rw-r--r-- | Include/ucnhash.h | 45 |
1 files changed, 27 insertions, 18 deletions
diff --git a/Include/ucnhash.h b/Include/ucnhash.h index 7bf3f5d..a664336 100644 --- a/Include/ucnhash.h +++ b/Include/ucnhash.h @@ -1,20 +1,29 @@ +/* Unicode name database interface */ -#include "Python.h" -#include <stdlib.h> - -/* --- C API ----------------------------------------------------*/ -/* C API for usage by other Python modules */ -typedef struct _Py_UCNHashAPI -{ - unsigned long cKeys; - unsigned long cchMax; - unsigned long (*hash)(const char *key, unsigned int cch); - const void *(*getValue)(unsigned long iKey); -} _Py_UCNHashAPI; - -typedef struct -{ - const char *pszUCN; - Py_UCS4 value; -} _Py_UnicodeCharacterName; +#ifndef Py_UCNHASH_H +#define Py_UCNHASH_H +#ifdef __cplusplus +extern "C" { +#endif +/* revised ucnhash CAPI interface (exported through a PyCObject) */ + +typedef struct { + + /* Size of this struct */ + int size; + + /* Get name for a given character code. Returns non-zero if + success, zero if not. Does not set Python exceptions. */ + int (*getname)(Py_UCS4 code, char* buffer, int buflen); + + /* Get character code for a given name. Same error handling + as for getname. */ + int (*getcode)(const char* name, int namelen, Py_UCS4* code); + +} _PyUnicode_Name_CAPI; + +#ifdef __cplusplus +} +#endif +#endif /* !Py_UCNHASH_H */ |