162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * IPWireless 3G PCMCIA Network Driver
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Original code
662306a36Sopenharmony_ci *   by Stephen Blackheath <stephen@blacksapphire.com>,
762306a36Sopenharmony_ci *      Ben Martel <benm@symmetric.co.nz>
862306a36Sopenharmony_ci *
962306a36Sopenharmony_ci * Copyrighted as follows:
1062306a36Sopenharmony_ci *   Copyright (C) 2004 by Symmetric Systems Ltd (NZ)
1162306a36Sopenharmony_ci *
1262306a36Sopenharmony_ci * Various driver changes and rewrites, port to new kernels
1362306a36Sopenharmony_ci *   Copyright (C) 2006-2007 Jiri Kosina
1462306a36Sopenharmony_ci *
1562306a36Sopenharmony_ci * Misc code cleanups and updates
1662306a36Sopenharmony_ci *   Copyright (C) 2007 David Sterba
1762306a36Sopenharmony_ci */
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci#ifndef _IPWIRELESS_CS_TTY_H_
2062306a36Sopenharmony_ci#define _IPWIRELESS_CS_TTY_H_
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci#include <linux/types.h>
2362306a36Sopenharmony_ci#include <linux/sched.h>
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci#include <pcmcia/cistpl.h>
2662306a36Sopenharmony_ci#include <pcmcia/ds.h>
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_cistruct ipw_tty;
2962306a36Sopenharmony_cistruct ipw_network;
3062306a36Sopenharmony_cistruct ipw_hardware;
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ciint ipwireless_tty_init(void);
3362306a36Sopenharmony_civoid ipwireless_tty_release(void);
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_cistruct ipw_tty *ipwireless_tty_create(struct ipw_hardware *hw,
3662306a36Sopenharmony_ci				      struct ipw_network *net);
3762306a36Sopenharmony_civoid ipwireless_tty_free(struct ipw_tty *tty);
3862306a36Sopenharmony_civoid ipwireless_tty_received(struct ipw_tty *tty, unsigned char *data,
3962306a36Sopenharmony_ci			     unsigned int length);
4062306a36Sopenharmony_ciint ipwireless_tty_is_modem(struct ipw_tty *tty);
4162306a36Sopenharmony_civoid ipwireless_tty_notify_control_line_change(struct ipw_tty *tty,
4262306a36Sopenharmony_ci					       unsigned int channel_idx,
4362306a36Sopenharmony_ci					       unsigned int control_lines,
4462306a36Sopenharmony_ci					       unsigned int changed_mask);
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci#endif
47