mirror of
https://github.com/moparisthebest/socat
synced 2024-12-21 22:48:48 -05:00
73 lines
2.7 KiB
C
73 lines
2.7 KiB
C
/* source: utils.h */
|
|
/* Copyright Gerhard Rieger */
|
|
/* 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_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) */
|