p80211ioctl.h 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. /* p80211ioctl.h
  2. *
  3. * Declares constants and types for the p80211 ioctls
  4. *
  5. * Copyright (C) 1999 AbsoluteValue Systems, Inc. All Rights Reserved.
  6. * --------------------------------------------------------------------
  7. *
  8. * linux-wlan
  9. *
  10. * The contents of this file are subject to the Mozilla Public
  11. * License Version 1.1 (the "License"); you may not use this file
  12. * except in compliance with the License. You may obtain a copy of
  13. * the License at http://www.mozilla.org/MPL/
  14. *
  15. * Software distributed under the License is distributed on an "AS
  16. * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  17. * implied. See the License for the specific language governing
  18. * rights and limitations under the License.
  19. *
  20. * Alternatively, the contents of this file may be used under the
  21. * terms of the GNU Public License version 2 (the "GPL"), in which
  22. * case the provisions of the GPL are applicable instead of the
  23. * above. If you wish to allow the use of your version of this file
  24. * only under the terms of the GPL and not to allow others to use
  25. * your version of this file under the MPL, indicate your decision
  26. * by deleting the provisions above and replace them with the notice
  27. * and other provisions required by the GPL. If you do not delete
  28. * the provisions above, a recipient may use your version of this
  29. * file under either the MPL or the GPL.
  30. *
  31. * --------------------------------------------------------------------
  32. *
  33. * Inquiries regarding the linux-wlan Open Source project can be
  34. * made directly to:
  35. *
  36. * AbsoluteValue Systems Inc.
  37. * info@linux-wlan.com
  38. * http://www.linux-wlan.com
  39. *
  40. * --------------------------------------------------------------------
  41. *
  42. * Portions of the development of this software were funded by
  43. * Intersil Corporation as part of PRISM(R) chipset product development.
  44. *
  45. * --------------------------------------------------------------------
  46. *
  47. * While this file is called 'ioctl' is purpose goes a little beyond
  48. * that. This file defines the types and contants used to implement
  49. * the p80211 request/confirm/indicate interfaces on Linux. The
  50. * request/confirm interface is, in fact, normally implemented as an
  51. * ioctl. The indicate interface on the other hand, is implemented
  52. * using the Linux 'netlink' interface.
  53. *
  54. * The reason I say that request/confirm is 'normally' implemented
  55. * via ioctl is that we're reserving the right to be able to send
  56. * request commands via the netlink interface. This will be necessary
  57. * if we ever need to send request messages when there aren't any
  58. * wlan network devices present (i.e. sending a message that only p80211
  59. * cares about.
  60. * --------------------------------------------------------------------
  61. */
  62. #ifndef _P80211IOCTL_H
  63. #define _P80211IOCTL_H
  64. /* p80211 ioctl "request" codes. See argument 2 of ioctl(2). */
  65. #define P80211_IFTEST (SIOCDEVPRIVATE + 0)
  66. #define P80211_IFREQ (SIOCDEVPRIVATE + 1)
  67. /*----------------------------------------------------------------*/
  68. /* Magic number, a quick test to see we're getting the desired struct */
  69. #define P80211_IOCTL_MAGIC (0x4a2d464dUL)
  70. /*----------------------------------------------------------------*/
  71. /* A ptr to the following structure type is passed as the third */
  72. /* argument to the ioctl system call when issuing a request to */
  73. /* the p80211 module. */
  74. struct p80211ioctl_req {
  75. char name[WLAN_DEVNAMELEN_MAX];
  76. caddr_t data;
  77. u32 magic;
  78. u16 len;
  79. u32 result;
  80. } __packed;
  81. #endif /* _P80211IOCTL_H */