libcoap 4.3.5-develop-72190a8
|
Helper functions for URI treatment. More...
Go to the source code of this file.
Data Structures | |
struct | coap_uri_t |
Representation of parsed URI. More... | |
Macros | |
#define | COAP_URI_SCHEME_SECURE_MASK 0x01 |
This mask can be used to check if a parsed URI scheme is secure. | |
#define | COAP_URI_SCHEME_COAP_BIT (1 << COAP_URI_SCHEME_COAP) |
#define | COAP_URI_SCHEME_COAPS_BIT (1 << COAP_URI_SCHEME_COAPS) |
#define | COAP_URI_SCHEME_COAP_TCP_BIT (1 << COAP_URI_SCHEME_COAP_TCP) |
#define | COAP_URI_SCHEME_COAPS_TCP_BIT (1 << COAP_URI_SCHEME_COAPS_TCP) |
#define | COAP_URI_SCHEME_HTTP_BIT (1 << COAP_URI_SCHEME_HTTP) |
#define | COAP_URI_SCHEME_HTTPS_BIT (1 << COAP_URI_SCHEME_HTTPS) |
#define | COAP_URI_SCHEME_COAP_WS_BIT (1 << COAP_URI_SCHEME_COAP_WS) |
#define | COAP_URI_SCHEME_COAPS_WS_BIT (1 << COAP_URI_SCHEME_COAPS_WS) |
#define | COAP_URI_SCHEME_ALL_COAP_BITS |
Typedefs | |
typedef enum coap_uri_scheme_t | coap_uri_scheme_t |
The scheme specifiers. | |
Enumerations | |
enum | coap_uri_scheme_t { COAP_URI_SCHEME_COAP = 0 , COAP_URI_SCHEME_COAPS , COAP_URI_SCHEME_COAP_TCP , COAP_URI_SCHEME_COAPS_TCP , COAP_URI_SCHEME_HTTP , COAP_URI_SCHEME_HTTPS , COAP_URI_SCHEME_COAP_WS , COAP_URI_SCHEME_COAPS_WS , COAP_URI_SCHEME_LAST } |
The scheme specifiers. More... | |
Functions | |
static int | coap_uri_scheme_is_secure (const coap_uri_t *uri) |
int | coap_host_is_unix_domain (const coap_str_const_t *host) |
Determines from the host whether this is a Unix Domain socket request. | |
coap_uri_t * | coap_new_uri (const uint8_t *uri, unsigned int length) |
Creates a new coap_uri_t object from the specified URI. | |
coap_uri_t * | coap_clone_uri (const coap_uri_t *uri) |
Clones the specified coap_uri_t object. | |
void | coap_delete_uri (coap_uri_t *uri) |
Removes the specified coap_uri_t object. | |
int | coap_split_uri (const uint8_t *str_var, size_t len, coap_uri_t *uri) |
Parses a given string into URI components. | |
int | coap_split_proxy_uri (const uint8_t *str_var, size_t len, coap_uri_t *uri) |
Parses a given string into URI components. | |
int | coap_uri_into_options (const coap_uri_t *uri, const coap_address_t *dst, coap_optlist_t **optlist_chain, int create_port_host_opt, uint8_t *buf, size_t buflen) |
Takes a coap_uri_t and then adds CoAP options into the optlist_chain . | |
int | coap_uri_into_optlist (const coap_uri_t *uri, const coap_address_t *dst, coap_optlist_t **optlist_chain, int create_port_host_opt) |
Takes a coap_uri_t and then adds CoAP options into the optlist_chain . | |
int | coap_split_path (const uint8_t *path, size_t length, unsigned char *buf, size_t *buflen) |
Splits the given URI path into segments. | |
int | coap_path_into_optlist (const uint8_t *path, size_t length, coap_option_num_t optnum, coap_optlist_t **optlist_chain) |
Splits the given URI path into '/' separate segments, and then adds the Uri-Path / Location-Path option for each segment to the optlist_chain . | |
int | coap_split_query (const uint8_t *query, size_t length, unsigned char *buf, size_t *buflen) |
Splits the given URI query into segments. | |
int | coap_query_into_optlist (const uint8_t *query, size_t length, coap_option_num_t optnum, coap_optlist_t **optlist_chain) |
Splits the given URI query into '&' separate segments, and then adds the Uri-Query / Location-Query option for each segment to the optlist_chain . | |
coap_string_t * | coap_get_query (const coap_pdu_t *request) |
Extract query string from request PDU according to escape rules in 6.5.8. | |
coap_string_t * | coap_get_uri_path (const coap_pdu_t *request) |
Extract uri_path string from request PDU. | |
Helper functions for URI treatment.
Definition in file coap_uri.h.
#define COAP_URI_SCHEME_ALL_COAP_BITS |
Definition at line 52 of file coap_uri.h.
#define COAP_URI_SCHEME_COAP_BIT (1 << COAP_URI_SCHEME_COAP) |
Definition at line 43 of file coap_uri.h.
#define COAP_URI_SCHEME_COAP_TCP_BIT (1 << COAP_URI_SCHEME_COAP_TCP) |
Definition at line 45 of file coap_uri.h.
#define COAP_URI_SCHEME_COAP_WS_BIT (1 << COAP_URI_SCHEME_COAP_WS) |
Definition at line 49 of file coap_uri.h.
#define COAP_URI_SCHEME_COAPS_BIT (1 << COAP_URI_SCHEME_COAPS) |
Definition at line 44 of file coap_uri.h.
#define COAP_URI_SCHEME_COAPS_TCP_BIT (1 << COAP_URI_SCHEME_COAPS_TCP) |
Definition at line 46 of file coap_uri.h.
#define COAP_URI_SCHEME_COAPS_WS_BIT (1 << COAP_URI_SCHEME_COAPS_WS) |
Definition at line 50 of file coap_uri.h.
#define COAP_URI_SCHEME_HTTP_BIT (1 << COAP_URI_SCHEME_HTTP) |
Definition at line 47 of file coap_uri.h.
#define COAP_URI_SCHEME_HTTPS_BIT (1 << COAP_URI_SCHEME_HTTPS) |
Definition at line 48 of file coap_uri.h.
#define COAP_URI_SCHEME_SECURE_MASK 0x01 |
This mask can be used to check if a parsed URI scheme is secure.
Definition at line 41 of file coap_uri.h.
typedef enum coap_uri_scheme_t coap_uri_scheme_t |
The scheme specifiers.
Secure schemes have an odd numeric value, others are even.
enum coap_uri_scheme_t |
The scheme specifiers.
Secure schemes have an odd numeric value, others are even.
Definition at line 28 of file coap_uri.h.
coap_uri_t * coap_clone_uri | ( | const coap_uri_t * | uri | ) |
Clones the specified coap_uri_t object.
This function allocates sufficient memory to hold the coap_uri_t structure and its contents. The object should be released with delete_uri().
uri | The coap_uri_t structure to copy. |
Definition at line 878 of file coap_uri.c.
void coap_delete_uri | ( | coap_uri_t * | uri | ) |
Removes the specified coap_uri_t object.
uri | The coap_uri_t structure to remove. |
Definition at line 920 of file coap_uri.c.
int coap_host_is_unix_domain | ( | const coap_str_const_t * | host | ) |
Determines from the host
whether this is a Unix Domain socket request.
host | The host object. |
0
on failure, or 1
on success. Definition at line 389 of file coap_uri.c.
coap_uri_t * coap_new_uri | ( | const uint8_t * | uri, |
unsigned int | length | ||
) |
Creates a new coap_uri_t object from the specified URI.
Returns the new object or NULL on error. The memory allocated by the new coap_uri_t should be released using coap_delete_uri().
uri | The URI path to copy. |
length | The length of uri. |
Definition at line 857 of file coap_uri.c.
|
inlinestatic |