18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * IPWireless 3G PCMCIA Network Driver
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Original code
68c2ecf20Sopenharmony_ci *   by Stephen Blackheath <stephen@blacksapphire.com>,
78c2ecf20Sopenharmony_ci *      Ben Martel <benm@symmetric.co.nz>
88c2ecf20Sopenharmony_ci *
98c2ecf20Sopenharmony_ci * Copyrighted as follows:
108c2ecf20Sopenharmony_ci *   Copyright (C) 2004 by Symmetric Systems Ltd (NZ)
118c2ecf20Sopenharmony_ci *
128c2ecf20Sopenharmony_ci * Various driver changes and rewrites, port to new kernels
138c2ecf20Sopenharmony_ci *   Copyright (C) 2006-2007 Jiri Kosina
148c2ecf20Sopenharmony_ci *
158c2ecf20Sopenharmony_ci * Misc code cleanups and updates
168c2ecf20Sopenharmony_ci *   Copyright (C) 2007 David Sterba
178c2ecf20Sopenharmony_ci */
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci#ifndef _IPWIRELESS_CS_TTY_H_
208c2ecf20Sopenharmony_ci#define _IPWIRELESS_CS_TTY_H_
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci#include <linux/types.h>
238c2ecf20Sopenharmony_ci#include <linux/sched.h>
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci#include <pcmcia/cistpl.h>
268c2ecf20Sopenharmony_ci#include <pcmcia/ds.h>
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_cistruct ipw_tty;
298c2ecf20Sopenharmony_cistruct ipw_network;
308c2ecf20Sopenharmony_cistruct ipw_hardware;
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ciint ipwireless_tty_init(void);
338c2ecf20Sopenharmony_civoid ipwireless_tty_release(void);
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_cistruct ipw_tty *ipwireless_tty_create(struct ipw_hardware *hw,
368c2ecf20Sopenharmony_ci				      struct ipw_network *net);
378c2ecf20Sopenharmony_civoid ipwireless_tty_free(struct ipw_tty *tty);
388c2ecf20Sopenharmony_civoid ipwireless_tty_received(struct ipw_tty *tty, unsigned char *data,
398c2ecf20Sopenharmony_ci			     unsigned int length);
408c2ecf20Sopenharmony_ciint ipwireless_tty_is_modem(struct ipw_tty *tty);
418c2ecf20Sopenharmony_civoid ipwireless_tty_notify_control_line_change(struct ipw_tty *tty,
428c2ecf20Sopenharmony_ci					       unsigned int channel_idx,
438c2ecf20Sopenharmony_ci					       unsigned int control_lines,
448c2ecf20Sopenharmony_ci					       unsigned int changed_mask);
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci#endif
47