libcoap  4.1.2
Functions
URI Parsing Functions

CoAP PDUs contain normalized URIs with their path and query split into multiple segments. More...

Functions

int coap_split_uri (const unsigned char *str_var, size_t len, coap_uri_t *uri)
 Parses a given string into URI components. More...
 
int coap_split_path (const unsigned char *s, size_t length, unsigned char *buf, size_t *buflen)
 Splits the given URI path into segments. More...
 
int coap_split_query (const unsigned char *s, size_t length, unsigned char *buf, size_t *buflen)
 Splits the given URI query into segments. More...
 

Detailed Description

CoAP PDUs contain normalized URIs with their path and query split into multiple segments.

The functions in this module help splitting strings.

Function Documentation

§ coap_split_path()

int coap_split_path ( const unsigned char *  s,
size_t  length,
unsigned char *  buf,
size_t *  buflen 
)

Splits the given URI path into segments.

Each segment is preceded by an option pseudo-header with delta-value 0 and the actual length of the respective segment after percent-decoding.

Parameters
sThe path string to split.
lengthThe actual length of s.
bufResult buffer for parsed segments.
buflenMaximum length of buf. Will be set to the actual number of bytes written into buf on success.
Returns
The number of segments created or -1 on error.

Definition at line 376 of file uri.c.

Here is the call graph for this function:

§ coap_split_query()

int coap_split_query ( const unsigned char *  s,
size_t  length,
unsigned char *  buf,
size_t *  buflen 
)

Splits the given URI query into segments.

Each segment is preceded by an option pseudo-header with delta-value 0 and the actual length of the respective query term.

Parameters
sThe query string to split.
lengthThe actual length of s.
bufResult buffer for parsed segments.
buflenMaximum length of buf. Will be set to the actual number of bytes written into buf on success.
Returns
The number of segments created or -1 on error.
Bug:
This function does not reserve additional space for delta > 12.

Definition at line 388 of file uri.c.

Here is the call graph for this function:

§ coap_split_uri()

int coap_split_uri ( const unsigned char *  str_var,
size_t  len,
coap_uri_t uri 
)

Parses a given string into URI components.

The identified syntactic components are stored in the result parameter uri. Optional URI components that are not specified will be set to { 0, 0 }, except for the port which is set to COAP_DEFAULT_PORT. This function returns 0 if parsing succeeded, a value less than zero otherwise.

Parameters
str_varThe string to split up.
lenThe actual length of str_var
uriThe coap_uri_t object to store the result.
Returns
0 on success, or < 0 on error.

Definition at line 48 of file uri.c.

Here is the caller graph for this function: