1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 2282361a0SGreg Kroah-Hartman /* 3282361a0SGreg Kroah-Hartman * IPWireless 3G PCMCIA Network Driver 4282361a0SGreg Kroah-Hartman * 5282361a0SGreg Kroah-Hartman * Original code 6282361a0SGreg Kroah-Hartman * by Stephen Blackheath <stephen@blacksapphire.com>, 7282361a0SGreg Kroah-Hartman * Ben Martel <benm@symmetric.co.nz> 8282361a0SGreg Kroah-Hartman * 9282361a0SGreg Kroah-Hartman * Copyrighted as follows: 10282361a0SGreg Kroah-Hartman * Copyright (C) 2004 by Symmetric Systems Ltd (NZ) 11282361a0SGreg Kroah-Hartman * 12282361a0SGreg Kroah-Hartman * Various driver changes and rewrites, port to new kernels 13282361a0SGreg Kroah-Hartman * Copyright (C) 2006-2007 Jiri Kosina 14282361a0SGreg Kroah-Hartman * 15282361a0SGreg Kroah-Hartman * Misc code cleanups and updates 16282361a0SGreg Kroah-Hartman * Copyright (C) 2007 David Sterba 17282361a0SGreg Kroah-Hartman */ 18282361a0SGreg Kroah-Hartman 19282361a0SGreg Kroah-Hartman #ifndef _IPWIRELESS_CS_NETWORK_H_ 20282361a0SGreg Kroah-Hartman #define _IPWIRELESS_CS_NETWORK_H_ 21282361a0SGreg Kroah-Hartman 22282361a0SGreg Kroah-Hartman #include <linux/types.h> 23282361a0SGreg Kroah-Hartman 24282361a0SGreg Kroah-Hartman struct ipw_network; 25282361a0SGreg Kroah-Hartman struct ipw_tty; 26282361a0SGreg Kroah-Hartman struct ipw_hardware; 27282361a0SGreg Kroah-Hartman 28282361a0SGreg Kroah-Hartman /* Definitions of the different channels on the PCMCIA UE */ 29282361a0SGreg Kroah-Hartman #define IPW_CHANNEL_RAS 0 30282361a0SGreg Kroah-Hartman #define IPW_CHANNEL_DIALLER 1 31282361a0SGreg Kroah-Hartman #define IPW_CHANNEL_CONSOLE 2 32282361a0SGreg Kroah-Hartman #define NO_OF_IPW_CHANNELS 5 33282361a0SGreg Kroah-Hartman 34282361a0SGreg Kroah-Hartman void ipwireless_network_notify_control_line_change(struct ipw_network *net, 35282361a0SGreg Kroah-Hartman unsigned int channel_idx, unsigned int control_lines, 36282361a0SGreg Kroah-Hartman unsigned int control_mask); 37282361a0SGreg Kroah-Hartman void ipwireless_network_packet_received(struct ipw_network *net, 38282361a0SGreg Kroah-Hartman unsigned int channel_idx, unsigned char *data, 39282361a0SGreg Kroah-Hartman unsigned int length); 40282361a0SGreg Kroah-Hartman struct ipw_network *ipwireless_network_create(struct ipw_hardware *hw); 41282361a0SGreg Kroah-Hartman void ipwireless_network_free(struct ipw_network *net); 42282361a0SGreg Kroah-Hartman void ipwireless_associate_network_tty(struct ipw_network *net, 43282361a0SGreg Kroah-Hartman unsigned int channel_idx, struct ipw_tty *tty); 44282361a0SGreg Kroah-Hartman void ipwireless_disassociate_network_ttys(struct ipw_network *net, 45282361a0SGreg Kroah-Hartman unsigned int channel_idx); 46282361a0SGreg Kroah-Hartman 47282361a0SGreg Kroah-Hartman void ipwireless_ppp_open(struct ipw_network *net); 48282361a0SGreg Kroah-Hartman 49282361a0SGreg Kroah-Hartman void ipwireless_ppp_close(struct ipw_network *net); 50282361a0SGreg Kroah-Hartman int ipwireless_ppp_channel_index(struct ipw_network *net); 51282361a0SGreg Kroah-Hartman int ipwireless_ppp_unit_number(struct ipw_network *net); 52282361a0SGreg Kroah-Hartman int ipwireless_ppp_mru(const struct ipw_network *net); 53282361a0SGreg Kroah-Hartman 54282361a0SGreg Kroah-Hartman #endif 55