cleanup: include/: move base64.h to sys/base64.h
move base64.h to sys/base64.h and create a shim for backward-compatibility. No functional changes to the headers. A warning in the shim can be controlled with CONFIG_COMPAT_INCLUDES. Related to #16539 Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
parent
e1e05a2eac
commit
bd977d06f8
6 changed files with 87 additions and 72 deletions
|
@ -1,79 +1,15 @@
|
|||
/*
|
||||
* RFC 1521 base64 encoding/decoding
|
||||
* Copyright (c) 2019 Intel Corporation
|
||||
*
|
||||
* Copyright (C) 2018, Nordic Semiconductor ASA
|
||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
* Adapted for Zephyr by Carles Cufi (carles.cufi@nordicsemi.no)
|
||||
* - Removed mbedtls_ prefixes
|
||||
* - Reworked coding style
|
||||
*/
|
||||
#ifndef ZEPHYR_INCLUDE_BASE64_H_
|
||||
#define ZEPHYR_INCLUDE_BASE64_H_
|
||||
|
||||
#include <stddef.h>
|
||||
#include <zephyr/types.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#ifndef CONFIG_COMPAT_INCLUDES
|
||||
#warning "This header file has moved, include <sys/base64.h> instead."
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Encode a buffer into base64 format
|
||||
*
|
||||
* @param dst destination buffer
|
||||
* @param dlen size of the destination buffer
|
||||
* @param olen number of bytes written
|
||||
* @param src source buffer
|
||||
* @param slen amount of data to be encoded
|
||||
*
|
||||
* @return 0 if successful, or -ENOMEM if the buffer is too small.
|
||||
* *olen is always updated to reflect the amount
|
||||
* of data that has (or would have) been written.
|
||||
* If that length cannot be represented, then no data is
|
||||
* written to the buffer and *olen is set to the maximum
|
||||
* length representable as a size_t.
|
||||
*
|
||||
* @note Call this function with dlen = 0 to obtain the
|
||||
* required buffer size in *olen
|
||||
*/
|
||||
int base64_encode(u8_t *dst, size_t dlen, size_t *olen, const u8_t *src,
|
||||
size_t slen);
|
||||
|
||||
/**
|
||||
* @brief Decode a base64-formatted buffer
|
||||
*
|
||||
* @param dst destination buffer (can be NULL for checking size)
|
||||
* @param dlen size of the destination buffer
|
||||
* @param olen number of bytes written
|
||||
* @param src source buffer
|
||||
* @param slen amount of data to be decoded
|
||||
*
|
||||
* @return 0 if successful, -ENOMEM, or -EINVAL if the input data is
|
||||
* not correct. *olen is always updated to reflect the amount
|
||||
* of data that has (or would have) been written.
|
||||
*
|
||||
* @note Call this function with *dst = NULL or dlen = 0 to obtain
|
||||
* the required buffer size in *olen
|
||||
*/
|
||||
int base64_decode(u8_t *dst, size_t dlen, size_t *olen, const u8_t *src,
|
||||
size_t slen);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#include <sys/base64.h>
|
||||
|
||||
#endif /* ZEPHYR_INCLUDE_BASE64_H_ */
|
||||
|
|
79
include/sys/base64.h
Normal file
79
include/sys/base64.h
Normal file
|
@ -0,0 +1,79 @@
|
|||
/*
|
||||
* RFC 1521 base64 encoding/decoding
|
||||
*
|
||||
* Copyright (C) 2018, Nordic Semiconductor ASA
|
||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
* Adapted for Zephyr by Carles Cufi (carles.cufi@nordicsemi.no)
|
||||
* - Removed mbedtls_ prefixes
|
||||
* - Reworked coding style
|
||||
*/
|
||||
#ifndef ZEPHYR_INCLUDE_SYS_BASE64_H_
|
||||
#define ZEPHYR_INCLUDE_SYS_BASE64_H_
|
||||
|
||||
#include <stddef.h>
|
||||
#include <zephyr/types.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Encode a buffer into base64 format
|
||||
*
|
||||
* @param dst destination buffer
|
||||
* @param dlen size of the destination buffer
|
||||
* @param olen number of bytes written
|
||||
* @param src source buffer
|
||||
* @param slen amount of data to be encoded
|
||||
*
|
||||
* @return 0 if successful, or -ENOMEM if the buffer is too small.
|
||||
* *olen is always updated to reflect the amount
|
||||
* of data that has (or would have) been written.
|
||||
* If that length cannot be represented, then no data is
|
||||
* written to the buffer and *olen is set to the maximum
|
||||
* length representable as a size_t.
|
||||
*
|
||||
* @note Call this function with dlen = 0 to obtain the
|
||||
* required buffer size in *olen
|
||||
*/
|
||||
int base64_encode(u8_t *dst, size_t dlen, size_t *olen, const u8_t *src,
|
||||
size_t slen);
|
||||
|
||||
/**
|
||||
* @brief Decode a base64-formatted buffer
|
||||
*
|
||||
* @param dst destination buffer (can be NULL for checking size)
|
||||
* @param dlen size of the destination buffer
|
||||
* @param olen number of bytes written
|
||||
* @param src source buffer
|
||||
* @param slen amount of data to be decoded
|
||||
*
|
||||
* @return 0 if successful, -ENOMEM, or -EINVAL if the input data is
|
||||
* not correct. *olen is always updated to reflect the amount
|
||||
* of data that has (or would have) been written.
|
||||
*
|
||||
* @note Call this function with *dst = NULL or dlen = 0 to obtain
|
||||
* the required buffer size in *olen
|
||||
*/
|
||||
int base64_decode(u8_t *dst, size_t dlen, size_t *olen, const u8_t *src,
|
||||
size_t slen);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* ZEPHYR_INCLUDE_SYS_BASE64_H_ */
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
#include <stdint.h>
|
||||
#include <errno.h>
|
||||
#include <base64.h>
|
||||
#include <sys/base64.h>
|
||||
|
||||
static const u8_t base64_enc_map[64] = {
|
||||
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#include <crc.h>
|
||||
#include <misc/byteorder.h>
|
||||
#include <net/buf.h>
|
||||
#include <base64.h>
|
||||
#include <sys/base64.h>
|
||||
#include <mgmt/buf.h>
|
||||
#include <mgmt/serial.h>
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
#include "settings_priv.h"
|
||||
|
||||
#ifdef CONFIG_SETTINGS_USE_BASE64
|
||||
#include "base64.h"
|
||||
#include <sys/base64.h>
|
||||
#endif
|
||||
|
||||
#include <logging/log.h>
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#include <zephyr/types.h>
|
||||
#include <stdbool.h>
|
||||
#include <ztest.h>
|
||||
#include <base64.h>
|
||||
#include <sys/base64.h>
|
||||
|
||||
static const unsigned char base64_test_dec[64] = {
|
||||
0x24, 0x48, 0x6E, 0x56, 0x87, 0x62, 0x5A, 0xBD,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue