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_NETWORK_H_
208c2ecf20Sopenharmony_ci#define _IPWIRELESS_CS_NETWORK_H_
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci#include <linux/types.h>
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_cistruct ipw_network;
258c2ecf20Sopenharmony_cistruct ipw_tty;
268c2ecf20Sopenharmony_cistruct ipw_hardware;
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci/* Definitions of the different channels on the PCMCIA UE */
298c2ecf20Sopenharmony_ci#define IPW_CHANNEL_RAS      0
308c2ecf20Sopenharmony_ci#define IPW_CHANNEL_DIALLER  1
318c2ecf20Sopenharmony_ci#define IPW_CHANNEL_CONSOLE  2
328c2ecf20Sopenharmony_ci#define NO_OF_IPW_CHANNELS   5
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_civoid ipwireless_network_notify_control_line_change(struct ipw_network *net,
358c2ecf20Sopenharmony_ci		unsigned int channel_idx, unsigned int control_lines,
368c2ecf20Sopenharmony_ci		unsigned int control_mask);
378c2ecf20Sopenharmony_civoid ipwireless_network_packet_received(struct ipw_network *net,
388c2ecf20Sopenharmony_ci		unsigned int channel_idx, unsigned char *data,
398c2ecf20Sopenharmony_ci		unsigned int length);
408c2ecf20Sopenharmony_cistruct ipw_network *ipwireless_network_create(struct ipw_hardware *hw);
418c2ecf20Sopenharmony_civoid ipwireless_network_free(struct ipw_network *net);
428c2ecf20Sopenharmony_civoid ipwireless_associate_network_tty(struct ipw_network *net,
438c2ecf20Sopenharmony_ci		unsigned int channel_idx, struct ipw_tty *tty);
448c2ecf20Sopenharmony_civoid ipwireless_disassociate_network_ttys(struct ipw_network *net,
458c2ecf20Sopenharmony_ci		unsigned int channel_idx);
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_civoid ipwireless_ppp_open(struct ipw_network *net);
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_civoid ipwireless_ppp_close(struct ipw_network *net);
508c2ecf20Sopenharmony_ciint ipwireless_ppp_channel_index(struct ipw_network *net);
518c2ecf20Sopenharmony_ciint ipwireless_ppp_unit_number(struct ipw_network *net);
528c2ecf20Sopenharmony_ciint ipwireless_ppp_mru(const struct ipw_network *net);
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ci#endif
55