libcoap
4.1.1
|
CoAP PDUs contain normalized URIs with their path and query split into multiple segments. More...
Data Structures | |
struct | coap_parse_iterator_t |
Iterator to for tokenizing a URI path or query. More... | |
Functions | |
coap_parse_iterator_t * | coap_parse_iterator_init (unsigned char *s, size_t n, unsigned char separator, unsigned char *delim, size_t dlen, coap_parse_iterator_t *pi) |
Initializes the given iterator pi . More... | |
unsigned char * | coap_parse_next (coap_parse_iterator_t *pi) |
Updates the iterator pi to point to the next token. More... | |
int | coap_split_uri (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... | |
CoAP PDUs contain normalized URIs with their path and query split into multiple segments.
The functions in this module help splitting strings.
coap_parse_iterator_t* coap_parse_iterator_init | ( | unsigned char * | s, |
size_t | n, | ||
unsigned char | separator, | ||
unsigned char * | delim, | ||
size_t | dlen, | ||
coap_parse_iterator_t * | pi | ||
) |
Initializes the given iterator pi
.
s | The string to tokenize. |
n | The length of s . |
separator | The separator character that delimits tokens. |
delim | A set of characters that delimit . |
dlen | The length of delim . |
pi | The iterator object to initialize. |
pi
. unsigned char* coap_parse_next | ( | coap_parse_iterator_t * | pi | ) |
Updates the iterator pi
to point to the next token.
This function returns a pointer to that token or NULL
if no more tokens exist. The contents of pi
will be updated. In particular, pi->segment_length
specifies the length of the current token, pi->pos
points to its beginning.
pi | The iterator to update. |
NULL
if no more tokens exist. 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.
s | The path string to split. |
length | The actual length of s . |
buf | Result buffer for parsed segments. |
buflen | Maximum length of buf . Will be set to the actual number of bytes written into buf on success. |
-1
on error. 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.
s | The query string to split. |
length | The actual length of s . |
buf | Result buffer for parsed segments. |
buflen | Maximum length of buf . Will be set to the actual number of bytes written into buf on success. |
-1
on error.int coap_split_uri | ( | 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.
str_var | The string to split up. |
len | The actual length of str_var |
uri | The coap_uri_t object to store the result. |
0
on success, or < 0 on error.