Blame view
include/linux/string_helpers.h
2.17 KB
b24413180
|
1 |
/* SPDX-License-Identifier: GPL-2.0 */ |
3c9f3681d
|
2 3 4 5 |
#ifndef _LINUX_STRING_HELPERS_H_ #define _LINUX_STRING_HELPERS_H_ #include <linux/types.h> |
21985319a
|
6 |
struct file; |
3c9f3681d
|
7 8 9 10 11 12 |
/* 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
|
13 |
void string_get_size(u64 size, u64 blk_size, enum string_size_units units, |
d1214c65c
|
14 |
char *buf, int len); |
3c9f3681d
|
15 |
|
16c7fa058
|
16 17 18 19 20 21 |
#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
|
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
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
|
38 39 40 41 42 43 44 45 46 |
#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
|
47 |
int string_escape_mem(const char *src, size_t isz, char *dst, size_t osz, |
b40bdb7fb
|
48 |
unsigned int flags, const char *only); |
c8250381c
|
49 50 |
static inline int string_escape_mem_any_np(const char *src, size_t isz, |
b40bdb7fb
|
51 |
char *dst, size_t osz, const char *only) |
c8250381c
|
52 |
{ |
b40bdb7fb
|
53 |
return string_escape_mem(src, isz, dst, osz, ESCAPE_ANY_NP, only); |
c8250381c
|
54 |
} |
41416f233
|
55 |
static inline int string_escape_str(const char *src, char *dst, size_t sz, |
b40bdb7fb
|
56 |
unsigned int flags, const char *only) |
c8250381c
|
57 |
{ |
b40bdb7fb
|
58 |
return string_escape_mem(src, strlen(src), dst, sz, flags, only); |
c8250381c
|
59 |
} |
41416f233
|
60 |
static inline int string_escape_str_any_np(const char *src, char *dst, |
b40bdb7fb
|
61 |
size_t sz, const char *only) |
c8250381c
|
62 |
{ |
b40bdb7fb
|
63 |
return string_escape_str(src, dst, sz, ESCAPE_ANY_NP, only); |
c8250381c
|
64 |
} |
b53f27e4f
|
65 |
char *kstrdup_quotable(const char *src, gfp_t gfp); |
0d0443288
|
66 |
char *kstrdup_quotable_cmdline(struct task_struct *task, gfp_t gfp); |
21985319a
|
67 |
char *kstrdup_quotable_file(struct file *file, gfp_t gfp); |
b53f27e4f
|
68 |
|
3c9f3681d
|
69 |
#endif |