libcoap  4.2.0
String handling support

API functions for handling strings. More...

Data Structures

struct  coap_string_t
 Coap string data definition. More...
 
struct  coap_str_const_t
 Coap string data definition with const data. More...
 
struct  coap_binary_t
 Coap binary data definition. More...
 

Macros

#define COAP_SET_STR(st, l, v)   { (st)->length = (l), (st)->s = (v); }
 
#define coap_make_str_const(string)   (&(coap_str_const_t){sizeof(string)-1,(const uint8_t *)(string)})
 Take the specified byte array (text) and create a coap_str_const_t *. More...
 
#define coap_string_equal(string1, string2)
 Compares the two strings for equality. More...
 

Typedefs

typedef struct coap_string_t coap_string_t
 Coap string data definition. More...
 
typedef struct coap_str_const_t coap_str_const_t
 Coap string data definition with const data. More...
 
typedef struct coap_binary_t coap_binary_t
 Coap binary data definition. More...
 

Functions

coap_string_tcoap_new_string (size_t size)
 Returns a new string object with at least size+1 bytes storage allocated. More...
 
void coap_delete_string (coap_string_t *string)
 Deletes the given string and releases any memory allocated. More...
 
coap_str_const_tcoap_new_str_const (const uint8_t *data, size_t size)
 Returns a new const string object with at least size+1 bytes storage allocated, and the provided data copied into the string object. More...
 
void coap_delete_str_const (coap_str_const_t *string)
 Deletes the given const string and releases any memory allocated. More...
 

Detailed Description

API functions for handling strings.

Macro Definition Documentation

◆ coap_make_str_const

#define coap_make_str_const (   string)    (&(coap_str_const_t){sizeof(string)-1,(const uint8_t *)(string)})

Take the specified byte array (text) and create a coap_str_const_t *.

WARNING: The byte array must be in the local scope and not a parameter in the function call as sizeof() will return the size of the pointer, not the size of the byte array, leading to unxepected results.

Parameters
stringThe const byte array to convert to a coap_str_const_t *

Definition at line 102 of file str.h.

◆ COAP_SET_STR

#define COAP_SET_STR (   st,
  l,
 
)    { (st)->length = (l), (st)->s = (v); }

Definition at line 38 of file str.h.

◆ coap_string_equal

#define coap_string_equal (   string1,
  string2 
)
Value:
((string1)->length == (string2)->length && ((string1)->length == 0 || \
memcmp((string1)->s, (string2)->s, (string1)->length) == 0))

Compares the two strings for equality.

Parameters
string1The first string.
string2The second string.
Returns
1 if the strings are equal 0 otherwise.

Definition at line 115 of file str.h.

Typedef Documentation

◆ coap_binary_t

typedef struct coap_binary_t coap_binary_t

Coap binary data definition.

◆ coap_str_const_t

Coap string data definition with const data.

◆ coap_string_t

typedef struct coap_string_t coap_string_t

Coap string data definition.

Function Documentation

◆ coap_delete_str_const()

void coap_delete_str_const ( coap_str_const_t string)

Deletes the given const string and releases any memory allocated.

Parameters
stringThe string to free off.

Definition at line 47 of file str.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ coap_delete_string()

void coap_delete_string ( coap_string_t string)

Deletes the given string and releases any memory allocated.

Parameters
stringThe string to free off.

Definition at line 34 of file str.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ coap_new_str_const()

coap_str_const_t* coap_new_str_const ( const uint8_t data,
size_t  size 
)

Returns a new const string object with at least size+1 bytes storage allocated, and the provided data copied into the string object.

The string must be released using coap_delete_str_const().

Parameters
dataThe data to put in the new string object.
sizeThe size to allocate for the binary string data.
Returns
A pointer to the new object or NULL on error.

Definition at line 38 of file str.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ coap_new_string()

coap_string_t* coap_new_string ( size_t  size)

Returns a new string object with at least size+1 bytes storage allocated.

The string must be released using coap_delete_string().

Parameters
sizeThe size to allocate for the binary string data.
Returns
A pointer to the new object or NULL on error.

Definition at line 18 of file str.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function: