| /* source: utils.h */ |
| /* Copyright Gerhard Rieger and contributors (see file CHANGES) */ |
| /* Published under the GNU General Public License V.2, see file COPYING */ |
| |
| #ifndef __utils_h_included |
| #define __utils_h_included 1 |
| |
| /* a generic name table entry */ |
| struct wordent { |
| const char *name; |
| void *desc; |
| } ; |
| |
| #if !HAVE_PROTOTYPE_LIB_memrchr |
| extern void *memrchr(const void *s, int c, size_t n); |
| #endif |
| extern void *memdup(const void *src, size_t n); |
| #if !HAVE_PROTOTYPE_LIB_strndup |
| extern char *strndup(const char *s, size_t n); |
| #endif |
| #if !HAVE_SETENV |
| extern int setenv(const char *name, const char *value, int overwrite); |
| #endif /* !HAVE_SETENV */ |
| |
| extern const struct wordent *keyw(const struct wordent *keywds, const char *name, unsigned int nkeys); |
| |
| |
| #define XIOSAN_ZERO_MASK 0x000f |
| #define XIOSAN_ZERO_DEFAULT 0x0000 |
| #define XIOSAN_ZERO_DOT 0x0001 |
| #define XIOSAN_ZERO_BACKSLASH_OCT_3 0x0002 |
| #define XIOSAN_ZERO_BACKSLASH_OCT_4 0x0003 |
| #define XIOSAN_ZERO_BACKSLASHX_HEX_UP 0x0004 |
| #define XIOSAN_ZERO_BACKSLASHX_HEX_LOW 0x0005 |
| #define XIOSAN_ZERO_PERCENT_HEX_UP 0x0006 |
| #define XIOSAN_ZERO_PERCENT_HEX_LOW 0x0007 |
| #define XIOSAN_CONTROL_MASK 0x00f0 |
| #define XIOSAN_CONTROL_DEFAULT 0x0000 |
| #define XIOSAN_CONTROL_DOT 0x0010 |
| #define XIOSAN_CONTROL_BACKSLASH_OCT_3 0x0020 |
| #define XIOSAN_CONTROL_BACKSLASH_OCT_4 0x0030 |
| #define XIOSAN_CONTROL_BACKSLASHX_HEX_UP 0x0040 |
| #define XIOSAN_CONTROL_BACKSLASHX_HEX_LOW 0x0050 |
| #define XIOSAN_CONTROL_PERCENT_HEX_UP 0x0060 |
| #define XIOSAN_CONTROL_PERCENT_HEX_LOW 0x0070 |
| #define XIOSAN_UNPRINT_MASK 0x0f00 |
| #define XIOSAN_UNPRINT_DEFAULT 0x0000 |
| #define XIOSAN_UNPRINT_DOT 0x0100 |
| #define XIOSAN_UNPRINT_BACKSLASH_OCT_3 0x0200 |
| #define XIOSAN_UNPRINT_BACKSLASH_OCT_4 0x0300 |
| #define XIOSAN_UNPRINT_BACKSLASHX_HEX_UP 0x0400 |
| #define XIOSAN_UNPRINT_BACKSLASHX_HEX_LOW 0x0500 |
| #define XIOSAN_UNPRINT_PERCENT_HEX_UP 0x0600 |
| #define XIOSAN_UNPRINT_PERCENT_HEX_LOW 0x0700 |
| #define XIOSAN_DEFAULT_MASK 0xf000 |
| #define XIOSAN_DEFAULT_BACKSLASH_DOT 0x1000 |
| #define XIOSAN_DEFAULT_BACKSLASH_OCT_3 0x2000 |
| #define XIOSAN_DEFAULT_BACKSLASH_OCT_4 0x3000 |
| #define XIOSAN_DEFAULT_BACKSLASHX_HEX_UP 0x4000 |
| #define XIOSAN_DEFAULT_BACKSLASHX_HEX_LOW 0x5000 |
| #define XIOSAN_DEFAULT_PERCENT_HEX_UP 0x6000 |
| #define XIOSAN_DEFAULT_PERCENT_HEX_LOW 0x7000 |
| |
| extern |
| char *sanitize_string(const char *data, /* input data */ |
| size_t bytes, /* length of input data, >=0 */ |
| char *coded, /* output buffer, must be long enough */ |
| int style); |
| extern |
| char *xiosubstr(char *scratch, const char *str, size_t from, size_t len); |
| |
| extern |
| int xio_snprintf(char *str, size_t size, const char *format, ...); |
| |
| #endif /* !defined(__utils_h_included) */ |