linux/net/xfrm/xfrm_ipcomp.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * IP Payload Compression Protocol (IPComp) - RFC3173.
 *
 * Copyright (c) 2003 James Morris <[email protected]>
 * Copyright (c) 2003-2008 Herbert Xu <[email protected]>
 *
 * Todo:
 *   - Tunable compression parameters.
 *   - Compression stats.
 *   - Adaptive compression.
 */

#include <linux/crypto.h>
#include <linux/err.h>
#include <linux/list.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/percpu.h>
#include <linux/slab.h>
#include <linux/smp.h>
#include <linux/vmalloc.h>
#include <net/ip.h>
#include <net/ipcomp.h>
#include <net/xfrm.h>

struct ipcomp_tfms {};

static DEFINE_MUTEX(ipcomp_resource_mutex);
static void * __percpu *ipcomp_scratches;
static int ipcomp_scratch_users;
static LIST_HEAD(ipcomp_tfms_list);

static int ipcomp_decompress(struct xfrm_state *x, struct sk_buff *skb)
{}

int ipcomp_input(struct xfrm_state *x, struct sk_buff *skb)
{}
EXPORT_SYMBOL_GPL();

static int ipcomp_compress(struct xfrm_state *x, struct sk_buff *skb)
{}

int ipcomp_output(struct xfrm_state *x, struct sk_buff *skb)
{}
EXPORT_SYMBOL_GPL();

static void ipcomp_free_scratches(void)
{}

static void * __percpu *ipcomp_alloc_scratches(void)
{}

static void ipcomp_free_tfms(struct crypto_comp * __percpu *tfms)
{}

static struct crypto_comp * __percpu *ipcomp_alloc_tfms(const char *alg_name)
{}

static void ipcomp_free_data(struct ipcomp_data *ipcd)
{}

void ipcomp_destroy(struct xfrm_state *x)
{}
EXPORT_SYMBOL_GPL();

int ipcomp_init_state(struct xfrm_state *x, struct netlink_ext_ack *extack)
{}
EXPORT_SYMBOL_GPL();

MODULE_LICENSE();
MODULE_DESCRIPTION();
MODULE_AUTHOR();