linux/crypto/algif_hash.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * algif_hash: User-space interface for hash algorithms
 *
 * This file provides the user-space API for hash algorithms.
 *
 * Copyright (c) 2010 Herbert Xu <[email protected]>
 */

#include <crypto/hash.h>
#include <crypto/if_alg.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/module.h>
#include <linux/net.h>
#include <net/sock.h>

struct hash_ctx {};

static int hash_alloc_result(struct sock *sk, struct hash_ctx *ctx)
{}

static void hash_free_result(struct sock *sk, struct hash_ctx *ctx)
{}

static int hash_sendmsg(struct socket *sock, struct msghdr *msg,
			size_t ignored)
{}

static int hash_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,
			int flags)
{}

static int hash_accept(struct socket *sock, struct socket *newsock,
		       struct proto_accept_arg *arg)
{}

static struct proto_ops algif_hash_ops =;

static int hash_check_key(struct socket *sock)
{}

static int hash_sendmsg_nokey(struct socket *sock, struct msghdr *msg,
			      size_t size)
{}

static int hash_recvmsg_nokey(struct socket *sock, struct msghdr *msg,
			      size_t ignored, int flags)
{}

static int hash_accept_nokey(struct socket *sock, struct socket *newsock,
			     struct proto_accept_arg *arg)
{}

static struct proto_ops algif_hash_ops_nokey =;

static void *hash_bind(const char *name, u32 type, u32 mask)
{}

static void hash_release(void *private)
{}

static int hash_setkey(void *private, const u8 *key, unsigned int keylen)
{}

static void hash_sock_destruct(struct sock *sk)
{}

static int hash_accept_parent_nokey(void *private, struct sock *sk)
{}

static int hash_accept_parent(void *private, struct sock *sk)
{}

static const struct af_alg_type algif_type_hash =;

static int __init algif_hash_init(void)
{}

static void __exit algif_hash_exit(void)
{}

module_init();
module_exit(algif_hash_exit);
MODULE_DESCRIPTION();
MODULE_LICENSE();