at master 607 B view raw
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 */