Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * base64 encoding, lifted from fs/crypto/fname.c.
4 */
5
6#ifndef _LINUX_BASE64_H
7#define _LINUX_BASE64_H
8
9#include <linux/types.h>
10
11enum base64_variant {
12 BASE64_STD, /* RFC 4648 (standard) */
13 BASE64_URLSAFE, /* RFC 4648 (base64url) */
14 BASE64_IMAP, /* RFC 3501 */
15};
16
17#define BASE64_CHARS(nbytes) DIV_ROUND_UP((nbytes) * 4, 3)
18
19int base64_encode(const u8 *src, int len, char *dst, bool padding, enum base64_variant variant);
20int base64_decode(const char *src, int len, u8 *dst, bool padding, enum base64_variant variant);
21
22#endif /* _LINUX_BASE64_H */