| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- /*
- * Utility functions for protocol examples
- *
- * SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
- *
- * SPDX-License-Identifier: Unlicense OR CC0-1.0
- */
- #pragma once
- #include <stdint.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- /**
- * @brief Encode an URI
- *
- * @param dest a destination memory location
- * @param src the source string
- * @param len the length of the source string
- * @return uint32_t the count of escaped characters
- *
- * @note Please allocate the destination buffer keeping in mind that encoding a
- * special character will take up 3 bytes (for '%' and two hex digits).
- * In the worst-case scenario, the destination buffer will have to be 3 times
- * that of the source string.
- */
- uint32_t example_uri_encode(char *dest, const char *src, size_t len);
- /**
- * @brief Decode an URI
- *
- * @param dest a destination memory location
- * @param src the source string
- * @param len the length of the source string
- *
- * @note Please allocate the destination buffer keeping in mind that a decoded
- * special character will take up 2 less bytes than its encoded form.
- * In the worst-case scenario, the destination buffer will have to be
- * the same size that of the source string.
- */
- void example_uri_decode(char *dest, const char *src, size_t len);
- #ifdef __cplusplus
- }
- #endif
|