31extern int locale_is_utf8;
34#define isutf(c) (((c)&0xC0)!=0x80)
36#define UEOF ((uint32_t)-1)
39DAS_API
size_t u8_toucs(uint32_t *dest,
size_t sz,
const char *src,
size_t srcsz);
42DAS_API
size_t u8_toutf8(
char *dest,
size_t sz,
const uint32_t *src,
size_t srcsz);
45DAS_API
size_t u8_wc_toutf8(
char *dest, uint32_t ch);
48DAS_API
size_t u8_offset(
const char *str,
size_t charnum);
51DAS_API
size_t u8_charnum(
const char *s,
size_t offset);
54DAS_API uint32_t u8_nextchar(
const char *s,
size_t *i);
57DAS_API uint32_t u8_nextmemchar(
const char *s,
size_t *i);
60DAS_API
void u8_inc(
const char *s,
size_t *i);
63DAS_API
void u8_dec(
const char *s,
size_t *i);
66DAS_API
size_t u8_seqlen(
const char *s);
69DAS_API
size_t u8_charlen(uint32_t ch);
72DAS_API
size_t u8_codingsize(uint32_t *wcstr,
size_t n);
74DAS_API
char read_escape_control_char(
char c);
79DAS_API
size_t u8_read_escape_sequence(
const char *src,
size_t ssz, uint32_t *dest);
84DAS_API
int u8_escape_wchar(
char *buf,
size_t sz, uint32_t ch);
87DAS_API
size_t u8_unescape(
char *buf,
size_t sz,
const char *src);
104DAS_API
size_t u8_escape(
char *buf,
size_t sz,
const char *src,
size_t *pi,
size_t end,
105 int escape_quotes,
int ascii);
108int octal_digit(
char c);
109int hex_digit(
char c);
113DAS_API
char *u8_strchr(
const char *s, uint32_t ch,
size_t *charn);
117DAS_API
char *u8_memchr(
const char *s, uint32_t ch,
size_t sz,
size_t *charn);
119DAS_API
char *u8_memrchr(
const char *s, uint32_t ch,
size_t sz);
122DAS_API
size_t u8_strlen(
const char *s);
125DAS_API
size_t u8_strwidth(
const char *s);
131DAS_API
int u8_is_locale_utf8(
const char *locale);
136DAS_API
size_t u8_vprintf(
const char *fmt, va_list ap);
137DAS_API
size_t u8_printf(
const char *fmt, ...);
140DAS_API
int u8_isvalid(
const char *str,
size_t length);
144DAS_API
int u8_reverse(
char *dest,
char *src,
size_t len);
152DAS_API
char* u8_strncpy(
char* dest,
const char* src,
size_t len);
Minimal definitions for das2 utilities that can safely be run without calling das_init().