blob: e97047a47d3e1fa8fa2ce99433c996fbc77ba5a3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
/* SPDX-License-Identifier: BSD-3-Clause
* Copyright(c) 2010-2014 Intel Corporation
*/
/**
* @file
*
* String-related functions as replacement for libc equivalents
*/
#ifndef _RTE_STRING_FNS_H_
#define _RTE_STRING_FNS_H_
#ifdef __cplusplus
extern "C" {
#endif
/**
* Takes string "string" parameter and splits it at character "delim"
* up to maxtokens-1 times - to give "maxtokens" resulting tokens. Like
* strtok or strsep functions, this modifies its input string, by replacing
* instances of "delim" with '\\0'. All resultant tokens are returned in the
* "tokens" array which must have enough entries to hold "maxtokens".
*
* @param string
* The input string to be split into tokens
*
* @param stringlen
* The max length of the input buffer
*
* @param tokens
* The array to hold the pointers to the tokens in the string
*
* @param maxtokens
* The number of elements in the tokens array. At most, maxtokens-1 splits
* of the string will be done.
*
* @param delim
* The character on which the split of the data will be done
*
* @return
* The number of tokens in the tokens array.
*/
int
rte_strsplit(char *string, int stringlen,
char **tokens, int maxtokens, char delim);
#ifdef __cplusplus
}
#endif
#endif /* RTE_STRING_FNS_H */
|