#define pr_fmt(fmt) …
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/list.h>
#include <linux/rculist.h>
#include <linux/spinlock.h>
#include "protocol.h"
static DEFINE_SPINLOCK(mptcp_sched_list_lock);
static LIST_HEAD(mptcp_sched_list);
static int mptcp_sched_default_get_subflow(struct mptcp_sock *msk,
struct mptcp_sched_data *data)
{ … }
static struct mptcp_sched_ops mptcp_sched_default = …;
struct mptcp_sched_ops *mptcp_sched_find(const char *name)
{ … }
void mptcp_get_available_schedulers(char *buf, size_t maxlen)
{ … }
int mptcp_register_scheduler(struct mptcp_sched_ops *sched)
{ … }
void mptcp_unregister_scheduler(struct mptcp_sched_ops *sched)
{ … }
void mptcp_sched_init(void)
{ … }
int mptcp_init_sched(struct mptcp_sock *msk,
struct mptcp_sched_ops *sched)
{ … }
void mptcp_release_sched(struct mptcp_sock *msk)
{ … }
void mptcp_subflow_set_scheduled(struct mptcp_subflow_context *subflow,
bool scheduled)
{ … }
int mptcp_sched_get_send(struct mptcp_sock *msk)
{ … }
int mptcp_sched_get_retrans(struct mptcp_sock *msk)
{ … }