~ubuntu-branches/ubuntu/precise/linux-lowlatency/precise-proposed

« back to all changes in this revision

Viewing changes to ubuntu/ndiswrapper/ndiswrapper.h

  • Committer: Package Import Robot
  • Author(s): Luke Yelavich, Andy Whitcroft, Chase Douglas, Eugeni Dodonov, Ingo Molnar, Johannes Berg, John Johansen, Kees Cook, Leann Ogasawara, Robert Hooker, Seth Heasley, Tim Gardner, Luke Yelavich, Upstream Kernel Changes
  • Date: 2012-03-09 10:21:12 UTC
  • Revision ID: package-import@ubuntu.com-20120309102112-s1abu8w051stx2rl
Tags: 3.2.0-18.26
[ Andy Whitcroft ]

* [Config] clean up the human consumable package descriptions
* [Config] fix generic flavour description
* [Config] clean up linux-tools package descriptions
  - LP: #593107
* deviations -- note the source of the Hyper-V updates
* SAUCE: ata_piix: defer to the Hyper-V drivers by default
  - LP: #929545
* ubuntu: AUFS -- adapt to the new changelog handling
* ubuntu: AUFS -- sort out the relative header paths
* ubuntu: AUFS -- update to d266b0c5d0693d6383976ee54b9e2c0fa9a3f5b0

[ Chase Douglas ]

* SAUCE: (drop after 3.3) HID: hid-magicmouse: Add pointer and buttonpad
  properties for Magic Trackpad
* SAUCE: Input: synaptics - add second variant of two-button clickpad
* SAUCE: Input: synapticss - Set buttonpad property for all clickpads

[ Eugeni Dodonov ]

* SAUCE: drm/i915: do not enable RC6p on Sandy Bridge
* SAUCE: drm/i915: fix operator precedence when enabling RC6p

[ Ingo Molnar ]

* ubuntu: nx-emu - i386: NX emulation

[ Johannes Berg ]

* SAUCE: iwlwifi: fix key removal
  - LP: #911059

[ John Johansen ]

* Revert "SAUCE: AppArmor: Fix unpack of network tables."
* Revert "SAUCE: AppArmor: Allow dfa backward compatibility with broken
  userspace"
* SAUCE: AppArmor: Add mising end of structure test to caps unpacking
* SAUCE: AppArmor: Fix dropping of allowed operations that are force
  audited
* SAUCE: AppArmor: Fix underflow in xindex calculation
* SAUCE: AppArmor: fix mapping of META_READ to audit and quiet flags
* SAUCE: AppArmor: Fix the error case for chroot relative path name
  lookup
  - LP: #925028
* SAUCE: AppArmor: Retrieve the dentry_path for error reporting when path
  lookup fails
  - LP: #925028
* SAUCE: AppArmor: Minor cleanup of d_namespace_path to consolidate error
  handling
* SAUCE: AppArmor: Update dfa matching routines.
* SAUCE: AppArmor: Move path failure information into aa_get_name and
  rename
* SAUCE: AppArmor: Make chroot relative the default path lookup type
* SAUCE: AppArmor: Add ability to load extended policy
* SAUCE: AppArmor: basic networking rules
* SAUCE: AppArmor: Add profile introspection file to interface
* SAUCE: AppArmor: Add the ability to mediate mount
* SAUCE: AppArmor: Add mount information to apparmorfs

[ Kees Cook ]

* SAUCE: (drop after 3.3) security: create task_free security callback
* SAUCE: (drop after 3.3) security: Yama LSM
* SAUCE: (drop after 3.3) Yama: add PR_SET_PTRACER_ANY
* SAUCE: Yama: add link restrictions
* SAUCE: security: unconditionally chain to Yama LSM
* SAUCE: AppArmor: refactor securityfs to use structures
* SAUCE: AppArmor: add initial "features" directory to securityfs
* SAUCE: AppArmor: add "file" details to securityfs
* SAUCE: AppArmor: export known rlimit names/value mappings in securityfs
* ubuntu: Yama - LSM hooks
* ubuntu: Yama - add ptrace relationship tracking interface
* ubuntu: Yama - unconditionally chain to Yama LSM

[ Leann Ogasawara ]

* Revert "[Config] Enable CONFIG_NVRAM=m"
  - LP: #942193
* Drop ndiswrapper
* Ubuntu-3.2.0-17.26
* Ubuntu-3.2.0-17.27
* Rebase to v3.2.7
* [Config] Enable CONFIG_USB_SERIAL_QUATECH2=m on arm and powerpc
* [Config] Enable CONFIG_USB_SERIAL_QUATECH_USB2=m on arm and powerpc
* [Config] Add CONFIG_NVRAM to config enforcer
  - LP: #942193
* [Config] Enable CONFIG_SCSI_IBMVSCSI=m for powerpc
  - LP: #943090
* [Config] Enable CONFIG_SCSI_IPR=m for powerpc
  - LP: #943090
* provide ipmi udeb
  - LP: #942926
* Rebase to v3.2.9
* Add ibmveth to d-i/modules-powerpc/nic-modules
  - LP: #712188
* [Config] Enable CONFIG_SCSI_IBMVFC=m for powerpc
  - LP: #712188
* Add ibmvfc and ibmvscsic to d-i/modules-powerpc/nic-modules
  - LP: #712188
* Ubuntu-3.2.0-18.28

[ Robert Hooker ]

* SAUCE: drm/i915: Enable RC6 by default on sandybridge.

[ Seth Heasley ]

* SAUCE: ALSA: hda - Add Lynx Point HD Audio Controller DeviceIDs
  - LP: #900119
* SAUCE: ahci: AHCI-mode SATA patch for Intel Lynx Point DeviceIDs
  - LP: #900119
* SAUCE: ata_piix: IDE-mode SATA patch for Intel Lynx Point DeviceIDs
  - LP: #900119
* SAUCE: i2c-i801: Add device IDs for Intel Lynx Point
  - LP: #900119

[ Tim Gardner ]

* dropped hv_mouse
* [Config] CONFIG_X86_NUMACHIP=y
* [Config] updateconfigs after apparmor patches
* [Config] Added hv_netvsc and hv_storvsc to -virtual
  - LP: #942256
* [Config] Enable aufs
  - LP: #943119
* SAUCE: Made kernel irq-threaded by default

[ Luke Yelavich ]

* UBUNTU: Depend on crda (>=1.1.1-1ubuntu2) | wireless-crda as per precise
  mainline packaging

[ Upstream Kernel Changes ]

* Revert "Revert "ath9k_hw: fix interpretation of the rx KeyMiss flag""
* Revert "AppArmor: compatibility patch for v5 interface"
* Revert "AppArmor: compatibility patch for v5 network controll"
* Staging: hv: vmbus: Support building the vmbus driver as part of the
  kernel
* hv: Add Kconfig menu entry
* Drivers: hv: Fix a memory leak
* Drivers: hv: Make the vmbus driver unloadable
* Drivers: hv: Get rid of an unnecessary check in hv.c
* Staging: hv: mousevsc: Make boolean states boolean
* Staging: hv: mousevsc: Inline the code for mousevsc_on_device_add()
* Staging: hv: mousevsc: Inline the code for reportdesc_callback()
* Staging: hv: mousevsc: Cleanup mousevsc_on_channel_callback()
* Staging: hv: mousevsc: Add a new line to a debug string
* Staging: hv: mousevsc: Get rid of unnecessary include files
* Staging: hv: mousevsc: Address some style issues
* Staging: hv: mousevsc: Add a check to prevent memory corruption
* Staging: hv: mousevsc: Use the KBUILD_MODNAME macro
* Staging: hv: storvsc: Use mempools to allocate struct
  storvsc_cmd_request
* Staging: hv: storvsc: Cleanup error handling in the probe function
* Staging: hv: storvsc: Fixup the error when processing SET_WINDOW
  command
* Staging: hv: storvsc: Fix error handling storvsc_host_reset()
* Staging: hv: storvsc: Use the accessor function shost_priv()
* Staging: hv: storvsc: Use the unlocked version queuecommand
* Staging: hv: storvsc: use the macro KBUILD_MODNAME
* Staging: hv: storvsc: Get rid of an unnecessary forward declaration
* Staging: hv: storvsc: Upgrade the vmstor protocol version
* Staging: hv: storvsc: Support hot add of scsi disks
* Staging: hv: storvsc: Support hot-removing of scsi devices
* staging: hv: Use kmemdup rather than duplicating its implementation
* staging: hv: move hv_netvsc out of staging area
* Staging: hv: mousevsc: Properly add the hid device
* Staging: hv: storvsc: Disable clustering
* Staging: hv: storvsc: Cleanup storvsc_device_alloc()
* Staging: hv: storvsc: Fix a bug in storvsc_command_completion()
* Staging: hv: storvsc: Fix a bug in copy_from_bounce_buffer()
* Staging: hv: storvsc: Implement per device memory pools
* Staging: hv: remove hv_mouse driver as it's now in the hid directory
* Staging: hv: update TODO file
* Staging: hv: storvsc: Fix a bug in create_bounce_buffer()
* net/hyperv: Fix long lines in netvsc.c
* net/hyperv: Add support for promiscuous mode setting
* net/hyperv: Fix the stop/wake queue mechanism
* net/hyperv: Remove unnecessary kmap_atomic in netvsc driver
* net/hyperv: Add NETVSP protocol version negotiation
* net/hyperv: Add support for jumbo frame up to 64KB
* net/hyperv: fix possible memory leak in do_set_multicast()
* net/hyperv: rx_bytes should account the ether header size
* net/hyperv: fix the issue that large packets be dropped under bridge
* net/hyperv: Use netif_tx_disable() instead of netif_stop_queue() when
  necessary
* net/hyperv: Fix the page buffer when an RNDIS message goes beyond page
  boundary
* HID: Move the hid-hyperv driver out of staging
* HID: hv_mouse: Properly add the hid device
* HID: hyperv: Properly disconnect the input device
* Staging: hv: storvsc: Cleanup some comments
* Staging: hv: storvsc: Cleanup storvsc_probe()
* Staging: hv: storvsc: Cleanup storvsc_queuecommand()
* Staging: hv: storvsc: Introduce defines for srb status codes
* Staging: hv: storvsc: Cleanup storvsc_host_reset_handler()
* Staging: hv: storvsc: Move and cleanup storvsc_remove()
* Staging: hv: storvsc: Add a comment to explain life-cycle management
* Staging: hv: storvsc: Get rid of the on_io_completion in
  hv_storvsc_request
* Staging: hv: storvsc: Rename the context field in hv_storvsc_request
* Staging: hv: storvsc: Miscellaneous cleanup of storvsc driver
* Staging: hv: storvsc: Cleanup the code for generating protocol version
* Staging: hv: storvsc: Cleanup some protocol related constants
* Staging: hv: storvsc: Get rid of some unused defines
* Staging: hv: storvsc: Consolidate the request structure
* Staging: hv: storvsc: Consolidate all the wire protocol definitions
* Staging: hv: storvsc: Move the storage driver out of the staging area
* x86: Make flat_init_apic_ldr() available
* x86: Add x86_init platform override to fix up NUMA core numbering
* x86: Add NumaChip support
* x86/numachip: Drop unnecessary conflict with EDAC
* Input: bcm5974 - set BUTTONPAD property
* Ubuntu: Rebase to v3.2.8
* ACPI / PM: Do not save/restore NVS on Asus K54C/K54HR
  - LP: #898503
* Add low latency source

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 *  Copyright (C) 2003-2005 Pontus Fuchs, Giridhar Pemmasani
3
 
 *
4
 
 *  This program is free software; you can redistribute it and/or modify
5
 
 *  it under the terms of the GNU General Public License as published by
6
 
 *  the Free Software Foundation; either version 2 of the License, or
7
 
 *  (at your option) any later version.
8
 
 *
9
 
 *  This program is distributed in the hope that it will be useful,
10
 
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
 
 *  GNU General Public License for more details.
13
 
 *
14
 
 */
15
 
 
16
 
#ifndef _NDISWRAPPER_H_
17
 
#define _NDISWRAPPER_H_
18
 
 
19
 
#define DRIVER_VERSION "1.56"
20
 
#define UTILS_VERSION "1.9"
21
 
 
22
 
#define DRIVER_NAME "ndiswrapper"
23
 
#define DRIVER_CONFIG_DIR "/etc/ndiswrapper"
24
 
 
25
 
#define SSID_MAX_WPA_IE_LEN 40
26
 
#define NDIS_ESSID_MAX_SIZE 32
27
 
#define NDIS_ENCODING_TOKEN_MAX 32
28
 
#define MAX_ENCR_KEYS 4
29
 
#define TX_RING_SIZE 16
30
 
#define NDIS_MAX_RATES 8
31
 
#define NDIS_MAX_RATES_EX 16
32
 
#define WLAN_EID_GENERIC 221
33
 
#define MAX_WPA_IE_LEN 64
34
 
#define MAX_STR_LEN 512
35
 
 
36
 
#define WRAP_PCI_BUS 5
37
 
#define WRAP_PCMCIA_BUS 8
38
 
/* some USB devices, e.g., DWL-G120 have BusType as 0 */
39
 
#define WRAP_INTERNAL_BUS 0
40
 
/* documentation at msdn says 15 is PNP bus, but inf files from all
41
 
 * vendors say 15 is USB; which is correct? */
42
 
#define WRAP_USB_BUS 15
43
 
 
44
 
/* NDIS device must be 0, for compatability with old versions of
45
 
 * ndiswrapper where device type for NDIS drivers is 0 */
46
 
#define WRAP_NDIS_DEVICE 0
47
 
#define WRAP_USB_DEVICE 1
48
 
#define WRAP_BLUETOOTH_DEVICE1 2
49
 
#define WRAP_BLUETOOTH_DEVICE2 3
50
 
 
51
 
#define WRAP_DEVICE_BUS(dev, bus) ((dev) << 8 | (bus))
52
 
#define WRAP_BUS(dev_bus) ((dev_bus) & 0x000FF)
53
 
#define WRAP_DEVICE(dev_bus) ((dev_bus) >> 8)
54
 
 
55
 
#define MAX_DRIVER_NAME_LEN 32
56
 
#define MAX_VERSION_STRING_LEN 64
57
 
#define MAX_SETTING_NAME_LEN 128
58
 
#define MAX_SETTING_VALUE_LEN 256
59
 
 
60
 
#define MAX_DRIVER_PE_IMAGES 4
61
 
#define MAX_DRIVER_BIN_FILES 5
62
 
#define MAX_DEVICE_SETTINGS 512
63
 
 
64
 
#define MAX_ALLOCATED_URBS 15
65
 
 
66
 
#define DEV_ANY_ID -1
67
 
 
68
 
#define MAC2STR(a) (a)[0], (a)[1], (a)[2], (a)[3], (a)[4], (a)[5]
69
 
#define MACSTRSEP "%02x:%02x:%02x:%02x:%02x:%02x"
70
 
#define MACSTR "%02x%02x%02x%02x%02x%02x"
71
 
#define MACINTADR(a) (int*)&((a)[0]), (int*)&((a)[1]), (int*)&((a)[2]), \
72
 
                (int*)&((a)[3]), (int*)&((a)[4]), (int*)&((a)[5])
73
 
 
74
 
#ifdef __KERNEL__
75
 
/* DEBUG macros */
76
 
 
77
 
#define MSG(level, fmt, ...)                            \
78
 
        printk(level "ndiswrapper (%s:%d): " fmt "\n",  \
79
 
               __func__, __LINE__ , ## __VA_ARGS__)
80
 
 
81
 
#define WARNING(fmt, ...) MSG(KERN_WARNING, fmt, ## __VA_ARGS__)
82
 
#define ERROR(fmt, ...) MSG(KERN_ERR, fmt , ## __VA_ARGS__)
83
 
#define INFO(fmt, ...) MSG(KERN_INFO, fmt , ## __VA_ARGS__)
84
 
#define TODO() WARNING("not fully implemented (yet)")
85
 
 
86
 
#define TRACE(fmt, ...) do { } while (0)
87
 
#define TRACE1(fmt, ...) do { } while (0)
88
 
#define TRACE2(fmt, ...) do { } while (0)
89
 
#define TRACE3(fmt, ...) do { }  while (0)
90
 
#define TRACE4(fmt, ...) do { } while (0)
91
 
#define TRACE5(fmt, ...) do { } while (0)
92
 
#define TRACE6(fmt, ...) do { } while (0)
93
 
 
94
 
/* for a block of code */
95
 
#define DBG_BLOCK(level) while (0)
96
 
 
97
 
extern int debug;
98
 
 
99
 
#if defined DEBUG
100
 
#undef TRACE
101
 
#define TRACE(level, fmt, ...)                                 \
102
 
do {                                                                   \
103
 
        if (debug >= level)                                            \
104
 
                printk(KERN_INFO "%s (%s:%d): " fmt "\n", DRIVER_NAME, \
105
 
                       __func__, __LINE__ , ## __VA_ARGS__);       \
106
 
} while (0)
107
 
#undef DBG_BLOCK
108
 
#define DBG_BLOCK(level) if (debug >= level)
109
 
#endif
110
 
 
111
 
#if defined(DEBUG) && DEBUG >= 1
112
 
#undef TRACE1
113
 
#define TRACE1(fmt, ...) TRACE(1, fmt , ## __VA_ARGS__)
114
 
#endif
115
 
 
116
 
#if defined(DEBUG) && DEBUG >= 2
117
 
#undef TRACE2
118
 
#define TRACE2(fmt, ...) TRACE(2, fmt , ## __VA_ARGS__)
119
 
#endif
120
 
 
121
 
#if defined(DEBUG) && DEBUG >= 3
122
 
#undef TRACE3
123
 
#define TRACE3(fmt, ...) TRACE(3, fmt , ## __VA_ARGS__)
124
 
#endif
125
 
 
126
 
#if defined(DEBUG) && DEBUG >= 4
127
 
#undef TRACE4
128
 
#define TRACE4(fmt, ...) TRACE(4, fmt , ## __VA_ARGS__)
129
 
#endif
130
 
 
131
 
#if defined(DEBUG) && DEBUG >= 5
132
 
#undef TRACE5
133
 
#define TRACE5(fmt, ...) TRACE(5, fmt , ## __VA_ARGS__)
134
 
#endif
135
 
 
136
 
#if defined(DEBUG) && DEBUG >= 6
137
 
#undef TRACE6
138
 
#define TRACE6(fmt, ...) TRACE(6, fmt , ## __VA_ARGS__)
139
 
#endif
140
 
 
141
 
#define ENTER1(fmt, ...) TRACE1("Enter " fmt , ## __VA_ARGS__)
142
 
#define ENTER2(fmt, ...) TRACE2("Enter " fmt , ## __VA_ARGS__)
143
 
#define ENTER3(fmt, ...) TRACE3("Enter " fmt , ## __VA_ARGS__)
144
 
#define ENTER4(fmt, ...) TRACE4("Enter " fmt , ## __VA_ARGS__)
145
 
#define ENTER5(fmt, ...) TRACE5("Enter " fmt , ## __VA_ARGS__)
146
 
#define ENTER6(fmt, ...) TRACE6("Enter " fmt , ## __VA_ARGS__)
147
 
 
148
 
#define EXIT1(stmt) do { TRACE1("Exit"); stmt; } while(0)
149
 
#define EXIT2(stmt) do { TRACE2("Exit"); stmt; } while(0)
150
 
#define EXIT3(stmt) do { TRACE3("Exit"); stmt; } while(0)
151
 
#define EXIT4(stmt) do { TRACE4("Exit"); stmt; } while(0)
152
 
#define EXIT5(stmt) do { TRACE5("Exit"); stmt; } while(0)
153
 
#define EXIT6(stmt) do { TRACE6("Exit"); stmt; } while(0)
154
 
 
155
 
#if defined(USB_DEBUG)
156
 
#define USBTRACE TRACE1
157
 
#define USBENTER ENTER1
158
 
#define USBEXIT EXIT1
159
 
#else
160
 
#define USBTRACE(fmt, ...)
161
 
#define USBENTER(fmt, ...)
162
 
#define USBEXIT(stmt) stmt
163
 
#endif
164
 
 
165
 
#if defined(EVENT_DEBUG)
166
 
#define EVENTTRACE TRACE1
167
 
#define EVENTENTER ENTER1
168
 
#define EVENTEXIT EXIT1
169
 
#else
170
 
#define EVENTTRACE(fmt, ...)
171
 
#define EVENTENTER(fmt, ...)
172
 
#define EVENTEXIT(stmt) stmt
173
 
#endif
174
 
 
175
 
#if defined(TIMER_DEBUG)
176
 
#define TIMERTRACE TRACE1
177
 
#define TIMERENTER ENTER1
178
 
#define TIMEREXIT EXIT1
179
 
#else
180
 
#define TIMERTRACE(fmt, ...)
181
 
#define TIMERENTER(fmt, ...)
182
 
#define TIMEREXIT(stmt) stmt
183
 
#endif
184
 
 
185
 
#if defined(IO_DEBUG)
186
 
#define IOTRACE TRACE1
187
 
#define IOENTER ENTER1
188
 
#define IOEXIT EXIT1
189
 
#else
190
 
#define IOTRACE(fmt, ...)
191
 
#define IOENTER(fmt, ...)
192
 
#define IOEXIT(stmt) stmt
193
 
#endif
194
 
 
195
 
#if defined(WORK_DEBUG)
196
 
#define WORKTRACE TRACE1
197
 
#define WORKENTER ENTER1
198
 
#define WORKEXIT EXIT1
199
 
#else
200
 
#define WORKTRACE(fmt, ...)
201
 
#define WORKENTER(fmt, ...)
202
 
#define WORKEXIT(stmt) stmt
203
 
#endif
204
 
 
205
 
#ifdef DEBUG
206
 
#define assert(expr)                                                    \
207
 
do {                                                                    \
208
 
        if (!(expr)) {                                                  \
209
 
                ERROR("assertion '%s' failed", #expr);                  \
210
 
                dump_stack();                                           \
211
 
        }                                                               \
212
 
} while (0)
213
 
#else
214
 
#define assert(expr) do { } while (0)
215
 
#endif
216
 
 
217
 
#endif // __KERNEL__
218
 
 
219
 
#endif // NDISWRAPPER_H