]> git.lizzy.rs Git - plan9front.git/blob - sys/include/ape/utf.h
remove keyboard stuff from other ports, make openssl and python compile on arm
[plan9front.git] / sys / include / ape / utf.h
1 #ifndef _UTF_H_
2 #define _UTF_H_ 1
3 #pragma lib "/$M/lib/ape/libutf.a"
4 #pragma src "/sys/src/ape/lib/utf"
5
6 #if defined(__cplusplus)
7 extern "C" { 
8 #endif
9
10 typedef unsigned short Rune;    /* 16 bits */
11
12 enum
13 {
14         UTFmax          = 3,            /* maximum bytes per rune */
15         Runesync        = 0x80,         /* cannot represent part of a UTF sequence (<) */
16         Runeself        = 0x80,         /* rune and UTF sequences are the same (<) */
17         Runeerror       = 0x80,         /* decoding error in UTF */
18 };
19
20 /*
21  * rune routines
22  */
23 extern  int     runetochar(char*, Rune*);
24 extern  int     chartorune(Rune*, char*);
25 extern  int     runelen(long);
26 extern  int     runenlen(Rune*, int);
27 extern  int     fullrune(char*, int);
28 extern  int     utflen(char*);
29 extern  int     utfnlen(char*, long);
30 extern  char*   utfrune(char*, long);
31 extern  char*   utfrrune(char*, long);
32 extern  char*   utfutf(char*, char*);
33 extern  char*   utfecpy(char*, char*, char*);
34
35 extern  Rune*   runestrcat(Rune*, Rune*);
36 extern  Rune*   runestrchr(Rune*, Rune);
37 extern  int     runestrcmp(Rune*, Rune*);
38 extern  Rune*   runestrcpy(Rune*, Rune*);
39 extern  Rune*   runestrncpy(Rune*, Rune*, long);
40 extern  Rune*   runestrecpy(Rune*, Rune*, Rune*);
41 extern  Rune*   runestrdup(Rune*);
42 extern  Rune*   runestrncat(Rune*, Rune*, long);
43 extern  int     runestrncmp(Rune*, Rune*, long);
44 extern  Rune*   runestrrchr(Rune*, Rune);
45 extern  long    runestrlen(Rune*);
46 extern  Rune*   runestrstr(Rune*, Rune*);
47
48 extern  Rune    tolowerrune(Rune);
49 extern  Rune    totitlerune(Rune);
50 extern  Rune    toupperrune(Rune);
51 extern  int     isalpharune(Rune);
52 extern  int     islowerrune(Rune);
53 extern  int     isspacerune(Rune);
54 extern  int     istitlerune(Rune);
55 extern  int     isupperrune(Rune);
56
57 #if defined(__cplusplus)
58 }
59 #endif
60 #endif