Blame view
include/linux/string_helpers.h
1.95 KB
3c9f3681d
|
1 2 3 4 5 6 7 8 9 10 11 |
#ifndef _LINUX_STRING_HELPERS_H_ #define _LINUX_STRING_HELPERS_H_ #include <linux/types.h> /* Descriptions of the types of units to * print in */ enum string_size_units { STRING_UNITS_10, /* use powers of 10^3 (standard SI) */ STRING_UNITS_2, /* use binary powers of 2^10 */ }; |
b9f28d863
|
12 |
void string_get_size(u64 size, u64 blk_size, enum string_size_units units, |
d1214c65c
|
13 |
char *buf, int len); |
3c9f3681d
|
14 |
|
16c7fa058
|
15 16 17 18 19 20 |
#define UNESCAPE_SPACE 0x01 #define UNESCAPE_OCTAL 0x02 #define UNESCAPE_HEX 0x04 #define UNESCAPE_SPECIAL 0x08 #define UNESCAPE_ANY \ (UNESCAPE_SPACE | UNESCAPE_OCTAL | UNESCAPE_HEX | UNESCAPE_SPECIAL) |
16c7fa058
|
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
int string_unescape(char *src, char *dst, size_t size, unsigned int flags); static inline int string_unescape_inplace(char *buf, unsigned int flags) { return string_unescape(buf, buf, 0, flags); } static inline int string_unescape_any(char *src, char *dst, size_t size) { return string_unescape(src, dst, size, UNESCAPE_ANY); } static inline int string_unescape_any_inplace(char *buf) { return string_unescape_any(buf, buf, 0); } |
c8250381c
|
37 38 39 40 41 42 43 44 45 |
#define ESCAPE_SPACE 0x01 #define ESCAPE_SPECIAL 0x02 #define ESCAPE_NULL 0x04 #define ESCAPE_OCTAL 0x08 #define ESCAPE_ANY \ (ESCAPE_SPACE | ESCAPE_OCTAL | ESCAPE_SPECIAL | ESCAPE_NULL) #define ESCAPE_NP 0x10 #define ESCAPE_ANY_NP (ESCAPE_ANY | ESCAPE_NP) #define ESCAPE_HEX 0x20 |
41416f233
|
46 |
int string_escape_mem(const char *src, size_t isz, char *dst, size_t osz, |
b40bdb7fb
|
47 |
unsigned int flags, const char *only); |
c8250381c
|
48 49 |
static inline int string_escape_mem_any_np(const char *src, size_t isz, |
b40bdb7fb
|
50 |
char *dst, size_t osz, const char *only) |
c8250381c
|
51 |
{ |
b40bdb7fb
|
52 |
return string_escape_mem(src, isz, dst, osz, ESCAPE_ANY_NP, only); |
c8250381c
|
53 |
} |
41416f233
|
54 |
static inline int string_escape_str(const char *src, char *dst, size_t sz, |
b40bdb7fb
|
55 |
unsigned int flags, const char *only) |
c8250381c
|
56 |
{ |
b40bdb7fb
|
57 |
return string_escape_mem(src, strlen(src), dst, sz, flags, only); |
c8250381c
|
58 |
} |
41416f233
|
59 |
static inline int string_escape_str_any_np(const char *src, char *dst, |
b40bdb7fb
|
60 |
size_t sz, const char *only) |
c8250381c
|
61 |
{ |
b40bdb7fb
|
62 |
return string_escape_str(src, dst, sz, ESCAPE_ANY_NP, only); |
c8250381c
|
63 |
} |
3c9f3681d
|
64 |
#endif |