include/linux/base64.h

Source file repositories/reference/linux-study-clean/include/linux/base64.h

File Facts

System
Linux kernel
Corpus path
include/linux/base64.h
Extension
.h
Size
607 bytes
Lines
23
Domain
Core OS
Bucket
Core Kernel Interface
Inferred role
Core OS: implementation source
Status
source implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

// SPDX-License-Identifier: GPL-2.0
/*
 * base64 encoding, lifted from fs/crypto/fname.c.
 */

#ifndef _LINUX_BASE64_H
#define _LINUX_BASE64_H

#include <linux/types.h>

enum base64_variant {
	BASE64_STD,       /* RFC 4648 (standard) */
	BASE64_URLSAFE,   /* RFC 4648 (base64url) */
	BASE64_IMAP,      /* RFC 3501 */
};

#define BASE64_CHARS(nbytes)   DIV_ROUND_UP((nbytes) * 4, 3)

int base64_encode(const u8 *src, int len, char *dst, bool padding, enum base64_variant variant);
int base64_decode(const char *src, int len, u8 *dst, bool padding, enum base64_variant variant);

#endif /* _LINUX_BASE64_H */

Annotation

Implementation Notes