linux/drivers/tty/ipwireless/tty.c

// SPDX-License-Identifier: GPL-2.0
/*
 * IPWireless 3G PCMCIA Network Driver
 *
 * Original code
 *   by Stephen Blackheath <[email protected]>,
 *      Ben Martel <[email protected]>
 *
 * Copyrighted as follows:
 *   Copyright (C) 2004 by Symmetric Systems Ltd (NZ)
 *
 * Various driver changes and rewrites, port to new kernels
 *   Copyright (C) 2006-2007 Jiri Kosina
 *
 * Misc code cleanups and updates
 *   Copyright (C) 2007 David Sterba
 */

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/ppp_defs.h>
#include <linux/if.h>
#include <linux/ppp-ioctl.h>
#include <linux/sched.h>
#include <linux/serial.h>
#include <linux/slab.h>
#include <linux/tty.h>
#include <linux/tty_driver.h>
#include <linux/tty_flip.h>
#include <linux/uaccess.h>

#include "tty.h"
#include "network.h"
#include "hardware.h"
#include "main.h"

#define IPWIRELESS_PCMCIA_START
#define IPWIRELESS_PCMCIA_MINORS
#define IPWIRELESS_PCMCIA_MINOR_RANGE

#define TTYTYPE_MODEM
#define TTYTYPE_MONITOR
#define TTYTYPE_RAS_RAW

struct ipw_tty {};

static struct ipw_tty *ttys[IPWIRELESS_PCMCIA_MINORS];

static struct tty_driver *ipw_tty_driver;

static char *tty_type_name(int tty_type)
{}

static struct ipw_tty *get_tty(int index)
{}

static int ipw_open(struct tty_struct *linux_tty, struct file *filp)
{}

static void do_ipw_close(struct ipw_tty *tty)
{}

static void ipw_hangup(struct tty_struct *linux_tty)
{}

static void ipw_close(struct tty_struct *linux_tty, struct file *filp)
{}

/* Take data received from hardware, and send it out the tty */
void ipwireless_tty_received(struct ipw_tty *tty, unsigned char *data,
			unsigned int length)
{}

static void ipw_write_packet_sent_callback(void *callback_data,
					   unsigned int packet_length)
{}

static ssize_t ipw_write(struct tty_struct *linux_tty, const u8 *buf,
			 size_t count)
{}

static unsigned int ipw_write_room(struct tty_struct *linux_tty)
{}

static int ipwireless_get_serial_info(struct tty_struct *linux_tty,
				      struct serial_struct *ss)
{}

static int ipwireless_set_serial_info(struct tty_struct *linux_tty,
				      struct serial_struct *ss)
{}

static unsigned int ipw_chars_in_buffer(struct tty_struct *linux_tty)
{}

static int get_control_lines(struct ipw_tty *tty)
{}

static int set_control_lines(struct ipw_tty *tty, unsigned int set,
			     unsigned int clear)
{}

static int ipw_tiocmget(struct tty_struct *linux_tty)
{}

static int
ipw_tiocmset(struct tty_struct *linux_tty,
	     unsigned int set, unsigned int clear)
{}

static int ipw_ioctl(struct tty_struct *linux_tty,
		     unsigned int cmd, unsigned long arg)
{}

static int add_tty(int j,
		    struct ipw_hardware *hardware,
		    struct ipw_network *network, int channel_idx,
		    int secondary_channel_idx, int tty_type)
{}

struct ipw_tty *ipwireless_tty_create(struct ipw_hardware *hardware,
				      struct ipw_network *network)
{}

/*
 * Must be called before ipwireless_network_free().
 */
void ipwireless_tty_free(struct ipw_tty *tty)
{}

static const struct tty_operations tty_ops =;

int ipwireless_tty_init(void)
{}

void ipwireless_tty_release(void)
{}

int ipwireless_tty_is_modem(struct ipw_tty *tty)
{}

void
ipwireless_tty_notify_control_line_change(struct ipw_tty *tty,
					  unsigned int channel_idx,
					  unsigned int control_lines,
					  unsigned int changed_mask)
{}