linux/drivers/atm/atmtcp.c

// SPDX-License-Identifier: GPL-2.0-only
/* drivers/atm/atmtcp.c - ATM over TCP "device" driver */

/* Written 1997-2000 by Werner Almesberger, EPFL LRC/ICA */


#include <linux/module.h>
#include <linux/wait.h>
#include <linux/atmdev.h>
#include <linux/atm_tcp.h>
#include <linux/bitops.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/uaccess.h>
#include <linux/atomic.h>


extern int atm_init_aal5(struct atm_vcc *vcc); /* "raw" AAL5 transport */


#define PRIV(dev)


struct atmtcp_dev_data {};


#define DEV_LABEL

#define MAX_VPI_BITS
#define MAX_VCI_BITS


/*
 * Hairy code ahead: the control VCC may be closed while we're still
 * waiting for an answer, so we need to re-validate out_vcc every once
 * in a while.
 */


static int atmtcp_send_control(struct atm_vcc *vcc,int type,
    const struct atmtcp_control *msg,int flag)
{}


static int atmtcp_recv_control(const struct atmtcp_control *msg)
{}


static void atmtcp_v_dev_close(struct atm_dev *dev)
{}


static int atmtcp_v_open(struct atm_vcc *vcc)
{}


static void atmtcp_v_close(struct atm_vcc *vcc)
{}


static int atmtcp_v_ioctl(struct atm_dev *dev,unsigned int cmd,void __user *arg)
{}


static int atmtcp_v_send(struct atm_vcc *vcc,struct sk_buff *skb)
{}


static int atmtcp_v_proc(struct atm_dev *dev,loff_t *pos,char *page)
{}


static void atmtcp_c_close(struct atm_vcc *vcc)
{}


static struct atm_vcc *find_vcc(struct atm_dev *dev, short vpi, int vci)
{}


static int atmtcp_c_send(struct atm_vcc *vcc,struct sk_buff *skb)
{}


/*
 * Device operations for the virtual ATM devices created by ATMTCP.
 */


static const struct atmdev_ops atmtcp_v_dev_ops =;


/*
 * Device operations for the ATMTCP control device.
 */


static const struct atmdev_ops atmtcp_c_dev_ops =;


static struct atm_dev atmtcp_control_dev =;


static int atmtcp_create(int itf,int persist,struct atm_dev **result)
{}


static int atmtcp_attach(struct atm_vcc *vcc,int itf)
{}


static int atmtcp_create_persistent(int itf)
{}


static int atmtcp_remove_persistent(int itf)
{}

static int atmtcp_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
{}

static struct atm_ioctl atmtcp_ioctl_ops =;

static __init int atmtcp_init(void)
{}


static void __exit atmtcp_exit(void)
{}

MODULE_DESCRIPTION();
MODULE_LICENSE();
module_init();
module_exit(atmtcp_exit);