wrapper/stub for iconv character set conversion. More...
#include <arpa/inet.h>#include <ctype.h>#include <errno.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/param.h>#include <sys/stat.h>#include <unistd.h>#include <iconv.h>#include <atalk/byteorder.h>#include <atalk/logger.h>#include <atalk/unicode.h>#include <atalk/util.h>Macros | |
| #define | CHARSET_WIDECHAR 32 |
| #define | UCS2ICONV "UCS-2LE" |
| #define | DLIST_ADD(list, p) |
Functions | |
| static size_t | ascii_pull (void *, char **, size_t *, char **, size_t *) |
| static size_t | ascii_push (void *, char **, size_t *, char **, size_t *) |
| static size_t | iconv_copy (void *, char **, size_t *, char **, size_t *) |
| struct charset_functions * | find_charset_functions (const char *name) |
| int | atalk_register_charset (struct charset_functions *funcs) |
| static void | lazy_initialize_iconv (void) |
| static size_t | sys_iconv (void *cd, char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft) |
| size_t | atalk_iconv (atalk_iconv_t cd, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft) |
| This is a simple portable iconv() implementaion. | |
| atalk_iconv_t | atalk_iconv_open (const char *tocode, const char *fromcode) |
| int | atalk_iconv_close (atalk_iconv_t cd) |
Variables | |
| struct charset_functions | charset_mac_roman |
| struct charset_functions | charset_mac_hebrew |
| struct charset_functions | charset_mac_centraleurope |
| struct charset_functions | charset_mac_cyrillic |
| struct charset_functions | charset_mac_greek |
| struct charset_functions | charset_mac_turkish |
| struct charset_functions | charset_utf8 |
| struct charset_functions | charset_utf8_mac |
| struct charset_functions | charset_mac_japanese |
| struct charset_functions | charset_mac_chinese_trad |
| struct charset_functions | charset_mac_korean |
| struct charset_functions | charset_mac_chinese_simp |
| static struct charset_functions | builtin_functions [] |
| static struct charset_functions * | charsets = NULL |
wrapper/stub for iconv character set conversion.
iconv is an interface for converting between character encodings. This file, forked from samba, provides a wrapper around it, and also a simple reimplementation that is used if the system does not implement iconv.
| #define CHARSET_WIDECHAR 32 |
| #define UCS2ICONV "UCS-2LE" |
|
static |
|
static |
| size_t atalk_iconv | ( | atalk_iconv_t | cd, |
| const char ** | inbuf, | ||
| size_t * | inbytesleft, | ||
| char ** | outbuf, | ||
| size_t * | outbytesleft ) |
This is a simple portable iconv() implementaion.
It only knows about a very small number of character sets - just enough that netatalk works on systems that don't have iconv.
| int atalk_iconv_close | ( | atalk_iconv_t | cd | ) |
simple iconv_close() wrapper
| atalk_iconv_t atalk_iconv_open | ( | const char * | tocode, |
| const char * | fromcode ) |
simple iconv_open() wrapper
| int atalk_register_charset | ( | struct charset_functions * | funcs | ) |
| struct charset_functions * find_charset_functions | ( | const char * | name | ) |
|
static |
|
static |
|
static |
|
static |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
static |