|
|
|
|
| 53 |
* the provisions above, a recipient may use your version of this file under |
53 |
* the provisions above, a recipient may use your version of this file under |
| 54 |
* the terms of any one of the MPL, the GPL or the LGPL. |
54 |
* the terms of any one of the MPL, the GPL or the LGPL. |
| 55 |
* |
55 |
* |
| 56 |
******* END LICENSE BLOCK *******/ |
56 |
******* END LICENSE BLOCK *******/ |
| 57 |
|
57 |
|
| 58 |
#ifndef _HTYPES_HXX_ |
58 |
#ifndef _HTYPES_HXX_ |
| 59 |
#define _HTYPES_HXX_ |
59 |
#define _HTYPES_HXX_ |
| 60 |
|
60 |
|
|
|
61 |
#include <cstddef> |
| 62 |
|
| 61 |
#define ROTATE_LEN 5 |
63 |
#define ROTATE_LEN 5 |
| 62 |
|
64 |
|
| 63 |
#define ROTATE(v,q) \ |
65 |
#define ROTATE(v,q) \ |
| 64 |
(v) = ((v) << (q)) | (((v) >> (32 - q)) & ((1 << (q))-1)); |
66 |
(v) = ((v) << (q)) | (((v) >> (32 - q)) & ((1 << (q))-1)); |
| 65 |
|
67 |
|
| 66 |
// hentry options |
68 |
// hentry options |
| 67 |
#define H_OPT (1 << 0) |
69 |
#define H_OPT (1 << 0) |
| 68 |
#define H_OPT_ALIASM (1 << 1) |
70 |
#define H_OPT_ALIASM (1 << 1) |
| 69 |
#define H_OPT_PHON (1 << 2) |
71 |
#define H_OPT_PHON (1 << 2) |
| 70 |
|
72 |
|
| 71 |
// see also csutil.hxx |
73 |
// see also csutil.hxx |
| 72 |
#define HENTRY_WORD(h) (h->word) |
74 |
#define HENTRY_WORD(h) ((char *) h + offsetof(struct hentry, word)) |
| 73 |
|
75 |
|
| 74 |
// approx. number of user defined words |
76 |
// approx. number of user defined words |
| 75 |
#define USERWORD 1000 |
77 |
#define USERWORD 1000 |
| 76 |
|
78 |
|
| 77 |
struct hentry |
79 |
struct hentry |
| 78 |
{ |
80 |
{ |
| 79 |
unsigned char blen; // word length in bytes |
81 |
unsigned char blen; // word length in bytes |
| 80 |
unsigned char clen; // word length in characters (different for UTF-8 enc.) |
82 |
unsigned char clen; // word length in characters (different for UTF-8 enc.) |