linux/drivers/accessibility/speakup/spk_ttyio.c

// SPDX-License-Identifier: GPL-2.0
#include <linux/types.h>
#include <linux/tty.h>
#include <linux/tty_flip.h>
#include <linux/slab.h>

#include "speakup.h"
#include "spk_types.h"
#include "spk_priv.h"

struct spk_ldisc_data {};

/*
 * This allows to catch within spk_ttyio_ldisc_open whether it is getting set
 * on for a speakup-driven device.
 */
static struct tty_struct *speakup_tty;
/* This mutex serializes the use of such global speakup_tty variable */
static DEFINE_MUTEX(speakup_tty_mutex);

static int ser_to_dev(int ser, dev_t *dev_no)
{}

static int get_dev_to_use(struct spk_synth *synth, dev_t *dev_no)
{}

static int spk_ttyio_ldisc_open(struct tty_struct *tty)
{}

static void spk_ttyio_ldisc_close(struct tty_struct *tty)
{}

static size_t spk_ttyio_receive_buf2(struct tty_struct *tty, const u8 *cp,
				     const u8 *fp, size_t count)
{}

static struct tty_ldisc_ops spk_ttyio_ldisc_ops =;

static int spk_ttyio_out(struct spk_synth *in_synth, const char ch);
static int spk_ttyio_out_unicode(struct spk_synth *in_synth, u16 ch);
static void spk_ttyio_send_xchar(struct spk_synth *in_synth, char ch);
static void spk_ttyio_tiocmset(struct spk_synth *in_synth, unsigned int set, unsigned int clear);
static unsigned char spk_ttyio_in(struct spk_synth *in_synth);
static unsigned char spk_ttyio_in_nowait(struct spk_synth *in_synth);
static void spk_ttyio_flush_buffer(struct spk_synth *in_synth);
static int spk_ttyio_wait_for_xmitr(struct spk_synth *in_synth);

struct spk_io_ops spk_ttyio_ops =;
EXPORT_SYMBOL_GPL();

static inline void get_termios(struct tty_struct *tty,
			       struct ktermios *out_termios)
{}

static int spk_ttyio_initialise_ldisc(struct spk_synth *synth)
{}

void spk_ttyio_register_ldisc(void)
{}

void spk_ttyio_unregister_ldisc(void)
{}

static int spk_ttyio_out(struct spk_synth *in_synth, const char ch)
{}

static int spk_ttyio_out_unicode(struct spk_synth *in_synth, u16 ch)
{}

static void spk_ttyio_send_xchar(struct spk_synth *in_synth, char ch)
{}

static void spk_ttyio_tiocmset(struct spk_synth *in_synth, unsigned int set, unsigned int clear)
{}

static int spk_ttyio_wait_for_xmitr(struct spk_synth *in_synth)
{}

static unsigned char ttyio_in(struct spk_synth *in_synth, int timeout)
{}

static unsigned char spk_ttyio_in(struct spk_synth *in_synth)
{}

static unsigned char spk_ttyio_in_nowait(struct spk_synth *in_synth)
{}

static void spk_ttyio_flush_buffer(struct spk_synth *in_synth)
{}

int spk_ttyio_synth_probe(struct spk_synth *synth)
{}
EXPORT_SYMBOL_GPL();

void spk_ttyio_release(struct spk_synth *in_synth)
{}
EXPORT_SYMBOL_GPL();

const char *spk_ttyio_synth_immediate(struct spk_synth *in_synth, const char *buff)
{}
EXPORT_SYMBOL_GPL();