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