network.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*
  2. * IPWireless 3G PCMCIA Network Driver
  3. *
  4. * Original code
  5. * by Stephen Blackheath <stephen@blacksapphire.com>,
  6. * Ben Martel <benm@symmetric.co.nz>
  7. *
  8. * Copyrighted as follows:
  9. * Copyright (C) 2004 by Symmetric Systems Ltd (NZ)
  10. *
  11. * Various driver changes and rewrites, port to new kernels
  12. * Copyright (C) 2006-2007 Jiri Kosina
  13. *
  14. * Misc code cleanups and updates
  15. * Copyright (C) 2007 David Sterba
  16. */
  17. #ifndef _IPWIRELESS_CS_NETWORK_H_
  18. #define _IPWIRELESS_CS_NETWORK_H_
  19. #include <linux/types.h>
  20. struct ipw_network;
  21. struct ipw_tty;
  22. struct ipw_hardware;
  23. /* Definitions of the different channels on the PCMCIA UE */
  24. #define IPW_CHANNEL_RAS 0
  25. #define IPW_CHANNEL_DIALLER 1
  26. #define IPW_CHANNEL_CONSOLE 2
  27. #define NO_OF_IPW_CHANNELS 5
  28. void ipwireless_network_notify_control_line_change(struct ipw_network *net,
  29. unsigned int channel_idx, unsigned int control_lines,
  30. unsigned int control_mask);
  31. void ipwireless_network_packet_received(struct ipw_network *net,
  32. unsigned int channel_idx, unsigned char *data,
  33. unsigned int length);
  34. struct ipw_network *ipwireless_network_create(struct ipw_hardware *hw);
  35. void ipwireless_network_free(struct ipw_network *net);
  36. void ipwireless_associate_network_tty(struct ipw_network *net,
  37. unsigned int channel_idx, struct ipw_tty *tty);
  38. void ipwireless_disassociate_network_ttys(struct ipw_network *net,
  39. unsigned int channel_idx);
  40. void ipwireless_ppp_open(struct ipw_network *net);
  41. void ipwireless_ppp_close(struct ipw_network *net);
  42. int ipwireless_ppp_channel_index(struct ipw_network *net);
  43. int ipwireless_ppp_unit_number(struct ipw_network *net);
  44. int ipwireless_ppp_mru(const struct ipw_network *net);
  45. #endif