Blame


1 f7012583 2003-11-25 devnull #ifndef _UTF_H_
2 f7012583 2003-11-25 devnull #define _UTF_H_ 1
3 f7012583 2003-11-25 devnull #if defined(__cplusplus)
4 f7012583 2003-11-25 devnull extern "C" {
5 f7012583 2003-11-25 devnull #endif
6 b2cfc4e2 2003-09-30 devnull
7 b2cfc4e2 2003-09-30 devnull typedef unsigned short Rune; /* 16 bits */
8 b2cfc4e2 2003-09-30 devnull
9 b2cfc4e2 2003-09-30 devnull enum
10 b2cfc4e2 2003-09-30 devnull {
11 b2cfc4e2 2003-09-30 devnull UTFmax = 3, /* maximum bytes per rune */
12 b2cfc4e2 2003-09-30 devnull Runesync = 0x80, /* cannot represent part of a UTF sequence (<) */
13 b2cfc4e2 2003-09-30 devnull Runeself = 0x80, /* rune and UTF sequences are the same (<) */
14 b2cfc4e2 2003-09-30 devnull Runeerror = 0x80, /* decoding error in UTF */
15 b2cfc4e2 2003-09-30 devnull };
16 b2cfc4e2 2003-09-30 devnull
17 b2cfc4e2 2003-09-30 devnull /*
18 b2cfc4e2 2003-09-30 devnull * rune routines
19 b2cfc4e2 2003-09-30 devnull */
20 b2cfc4e2 2003-09-30 devnull extern int runetochar(char*, Rune*);
21 b2cfc4e2 2003-09-30 devnull extern int chartorune(Rune*, char*);
22 b2cfc4e2 2003-09-30 devnull extern int runelen(long);
23 b2cfc4e2 2003-09-30 devnull extern int runenlen(Rune*, int);
24 b2cfc4e2 2003-09-30 devnull extern int fullrune(char*, int);
25 b2cfc4e2 2003-09-30 devnull extern int utflen(char*);
26 b2cfc4e2 2003-09-30 devnull extern int utfnlen(char*, long);
27 b2cfc4e2 2003-09-30 devnull extern char* utfrune(char*, long);
28 b2cfc4e2 2003-09-30 devnull extern char* utfrrune(char*, long);
29 b2cfc4e2 2003-09-30 devnull extern char* utfutf(char*, char*);
30 b2cfc4e2 2003-09-30 devnull extern char* utfecpy(char*, char*, char*);
31 b2cfc4e2 2003-09-30 devnull
32 b2cfc4e2 2003-09-30 devnull extern Rune* runestrcat(Rune*, Rune*);
33 b2cfc4e2 2003-09-30 devnull extern Rune* runestrchr(Rune*, Rune);
34 b2cfc4e2 2003-09-30 devnull extern int runestrcmp(Rune*, Rune*);
35 b2cfc4e2 2003-09-30 devnull extern Rune* runestrcpy(Rune*, Rune*);
36 b2cfc4e2 2003-09-30 devnull extern Rune* runestrncpy(Rune*, Rune*, long);
37 b2cfc4e2 2003-09-30 devnull extern Rune* runestrecpy(Rune*, Rune*, Rune*);
38 b2cfc4e2 2003-09-30 devnull extern Rune* runestrdup(Rune*);
39 b2cfc4e2 2003-09-30 devnull extern Rune* runestrncat(Rune*, Rune*, long);
40 b2cfc4e2 2003-09-30 devnull extern int runestrncmp(Rune*, Rune*, long);
41 b2cfc4e2 2003-09-30 devnull extern Rune* runestrrchr(Rune*, Rune);
42 b2cfc4e2 2003-09-30 devnull extern long runestrlen(Rune*);
43 b2cfc4e2 2003-09-30 devnull extern Rune* runestrstr(Rune*, Rune*);
44 b2cfc4e2 2003-09-30 devnull
45 b2cfc4e2 2003-09-30 devnull extern Rune tolowerrune(Rune);
46 b2cfc4e2 2003-09-30 devnull extern Rune totitlerune(Rune);
47 b2cfc4e2 2003-09-30 devnull extern Rune toupperrune(Rune);
48 b2cfc4e2 2003-09-30 devnull extern int isalpharune(Rune);
49 b2cfc4e2 2003-09-30 devnull extern int islowerrune(Rune);
50 b2cfc4e2 2003-09-30 devnull extern int isspacerune(Rune);
51 b2cfc4e2 2003-09-30 devnull extern int istitlerune(Rune);
52 b2cfc4e2 2003-09-30 devnull extern int isupperrune(Rune);
53 b2cfc4e2 2003-09-30 devnull
54 f7012583 2003-11-25 devnull #if defined(__cplusplus)
55 f7012583 2003-11-25 devnull }
56 b2cfc4e2 2003-09-30 devnull #endif
57 f7012583 2003-11-25 devnull #endif