diff options
author | Fredrik Lundh <fredrik@pythonware.com> | 2001-01-19 09:45:02 (GMT) |
---|---|---|
committer | Fredrik Lundh <fredrik@pythonware.com> | 2001-01-19 09:45:02 (GMT) |
commit | 0fdb90cafe596a03a5c3005a21e8fa2a230803e5 (patch) | |
tree | b336a6167a1df4af3cf4ed184d68f7842dd19807 /Include/ucnhash.h | |
parent | a2bf2709b39b7848e4f887bc60289b64e2562f36 (diff) | |
download | cpython-0fdb90cafe596a03a5c3005a21e8fa2a230803e5.zip cpython-0fdb90cafe596a03a5c3005a21e8fa2a230803e5.tar.gz cpython-0fdb90cafe596a03a5c3005a21e8fa2a230803e5.tar.bz2 |
refactored the unicodeobject/ucnhash interface, to hide the
implementation details inside the ucnhash module.
also cleaned up the unicode copyright blurb a little; Secret Labs'
internal revision history isn't that interesting...
Diffstat (limited to 'Include/ucnhash.h')
-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 */ |