include/linux/nvme-keyring.h

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

File Facts

System
Linux kernel
Corpus path
include/linux/nvme-keyring.h
Extension
.h
Size
1112 bytes
Lines
43
Domain
Representative Device Path
Bucket
PCIe NVMe Storage Path
Inferred role
Representative Device Path: implementation source
Status
source implementation candidate

Why This File Exists

Part of the selected hardware vertical slice: PCI discovery, driver binding, NVMe queues, block requests, DMA, interrupts, and completion.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef _NVME_KEYRING_H
#define _NVME_KEYRING_H

#include <linux/key.h>

#if IS_ENABLED(CONFIG_NVME_KEYRING)

struct key *nvme_tls_psk_refresh(struct key *keyring,
		const char *hostnqn, const char *subnqn, u8 hmac_id,
		u8 *data, size_t data_len, const char *digest);
key_serial_t nvme_tls_psk_default(struct key *keyring,
		const char *hostnqn, const char *subnqn);

key_serial_t nvme_keyring_id(void);
struct key *nvme_tls_key_lookup(key_serial_t key_id);
#else
static inline struct key *nvme_tls_psk_refresh(struct key *keyring,
		const char *hostnqn, char *subnqn, u8 hmac_id,
		u8 *data, size_t data_len, const char *digest)
{
	return ERR_PTR(-ENOTSUPP);
}
static inline key_serial_t nvme_tls_psk_default(struct key *keyring,
		const char *hostnqn, const char *subnqn)
{
	return 0;
}
static inline key_serial_t nvme_keyring_id(void)
{
	return 0;
}
static inline struct key *nvme_tls_key_lookup(key_serial_t key_id)
{
	return ERR_PTR(-ENOTSUPP);
}
#endif /* !CONFIG_NVME_KEYRING */
#endif /* _NVME_KEYRING_H */

Annotation

Implementation Notes