DPDK  24.03.0
Functions
rte_string_fns.h File Reference
#include <ctype.h>
#include <stdio.h>
#include <string.h>
#include <rte_common.h>
#include <rte_compat.h>

Go to the source code of this file.

Functions

int rte_strsplit (char *string, int stringlen, char **tokens, int maxtokens, char delim)
 
ssize_t rte_strscpy (char *dst, const char *src, size_t dsize)
 
static __rte_experimental const char * rte_str_skip_leading_spaces (const char *src)
 

Detailed Description

String-related functions as replacement for libc equivalents

Definition in file rte_string_fns.h.

Function Documentation

◆ rte_strsplit()

int rte_strsplit ( char *  string,
int  stringlen,
char **  tokens,
int  maxtokens,
char  delim 
)

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".

Parameters
stringThe input string to be split into tokens
stringlenThe max length of the input buffer
tokensThe array to hold the pointers to the tokens in the string
maxtokensThe number of elements in the tokens array. At most, maxtokens-1 splits of the string will be done.
delimThe character on which the split of the data will be done
Returns
The number of tokens in the tokens array.
Examples:
examples/ipsec-secgw/ipsec-secgw.c, examples/l2fwd-event/main.c, examples/l2fwd-macsec/main.c, examples/l2fwd/main.c, examples/l3fwd-graph/main.c, examples/l3fwd-power/main.c, examples/l3fwd-power/perf_core.c, examples/l3fwd/main.c, examples/qos_sched/args.c, examples/qos_sched/cfg_file.c, examples/vhost/main.c, and examples/vhost_crypto/main.c.

◆ rte_strscpy()

ssize_t rte_strscpy ( char *  dst,
const char *  src,
size_t  dsize 
)

Copy string src to buffer dst of size dsize. At most dsize-1 chars will be copied. Always NUL-terminates, unless (dsize == 0).

Parameters
dstThe destination string.
srcThe input string to be copied.
dsizeLength in bytes of the destination buffer.
Returns
The number of bytes copied (terminating NUL-byte excluded) on success. -E2BIG if the destination buffer is too small. rte_errno is set.
Examples:
examples/fips_validation/fips_validation.c, and examples/vdpa/main.c.

◆ rte_str_skip_leading_spaces()

static __rte_experimental const char* rte_str_skip_leading_spaces ( const char *  src)
inlinestatic
Warning
EXPERIMENTAL: this API may change without prior notice.

Search for the first non whitespace character.

Parameters
srcThe input string to be analysed.
Returns
The address of the first non whitespace character.
Examples:
examples/fips_validation/fips_validation.c, examples/ip_pipeline/parser.c, and examples/pipeline/cli.c.

Definition at line 134 of file rte_string_fns.h.