~ubuntu-branches/ubuntu/vivid/ndiswrapper/vivid

« back to all changes in this revision

Viewing changes to driver/ndis.h

  • Committer: Package Import Robot
  • Author(s): Julian Andres Klode
  • Date: 2012-03-05 16:49:02 UTC
  • mfrom: (1.2.8)
  • Revision ID: package-import@ubuntu.com-20120305164902-rrir76um4yq4eimb
Tags: 1.57-1
* Imported Upstream version 1.57
  - Fixes build with kernel 3.2 (Closes: #655223, LP: #910597)
* Enable hardening build flags (Closes: #655249)
* patches/ndiswrapper-harden.patch: Use $(shell X) instead of `X`
* Update to Policy 3.9.3, copyright-format 1.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
#define NDIS_DMA_64BITS 2
26
26
 
27
27
#ifdef CONFIG_X86_64
28
 
#define MAXIMUM_PROCESSORS  64
 
28
#define MAXIMUM_PROCESSORS 64
29
29
#else
30
 
#define MAXIMUM_PROCESSORS  32
 
30
#define MAXIMUM_PROCESSORS 32
31
31
#endif
32
32
 
33
33
typedef UINT NDIS_STATUS;
36
36
typedef ULONG ndis_key_index;
37
37
typedef ULONG ndis_tx_power_level;
38
38
typedef ULONGULONG ndis_key_rsc;
39
 
typedef UCHAR ndis_rates[NDIS_MAX_RATES];
40
 
typedef UCHAR ndis_rates_ex[NDIS_MAX_RATES_EX];
41
39
typedef UCHAR mac_address[ETH_ALEN];
42
40
typedef ULONG ndis_fragmentation_threshold;
43
41
typedef ULONG ndis_rts_threshold;
44
42
typedef ULONG ndis_antenna;
45
43
typedef ULONG ndis_oid;
46
44
 
47
 
typedef UCHAR ndis_pmkid_vavlue[16];
48
 
 
49
45
typedef uint64_t NDIS_PHY_ADDRESS;
50
46
 
51
47
struct ndis_sg_element {
262
258
                struct {
263
259
                        UCHAR miniport_reserved_ex[3 * sizeof(void *)];
264
260
                        UCHAR wrapper_reserved_ex[sizeof(void *)];
265
 
                } deserailized_reserved;
 
261
                } deserialized_reserved;
266
262
                struct {
267
263
                        UCHAR mac_reserved[4 * sizeof(void *)];
268
264
                } mac_reserved;
864
860
        u8 is_tx_ring_full;
865
861
        u8 tx_ok;
866
862
        spinlock_t tx_ring_lock;
867
 
        struct semaphore tx_ring_mutex;
 
863
        struct mutex tx_ring_mutex;
868
864
        unsigned int max_tx_packets;
869
 
        struct semaphore ndis_req_mutex;
 
865
        struct mutex ndis_req_mutex;
870
866
        struct task_struct *ndis_req_task;
871
867
        int ndis_req_done;
872
868
        NDIS_STATUS ndis_req_status;
1108
1104
#define OID_802_11_CAPABILITY                   0x0D010122
1109
1105
#define OID_802_11_PMKID                        0x0D010123
1110
1106
 
1111
 
#define NDIS_STATUS_SUCCESS             0
1112
 
#define NDIS_STATUS_PENDING             0x00000103
1113
 
#define NDIS_STATUS_NOT_RECOGNIZED      0x00010001
1114
 
#define NDIS_STATUS_NOT_COPIED          0x00010002
1115
 
#define NDIS_STATUS_NOT_ACCEPTED        0x00010003
1116
 
#define NDIS_STATUS_CALL_ACTIVE         0x00010007
1117
 
#define NDIS_STATUS_ONLINE              0x40010003
1118
 
#define NDIS_STATUS_RESET_START         0x40010004
1119
 
#define NDIS_STATUS_RESET_END           0x40010005
1120
 
#define NDIS_STATUS_RING_STATUS         0x40010006
1121
 
#define NDIS_STATUS_CLOSED              0x40010007
1122
 
#define NDIS_STATUS_WAN_LINE_UP         0x40010008
1123
 
#define NDIS_STATUS_WAN_LINE_DOWN       0x40010009
1124
 
#define NDIS_STATUS_WAN_FRAGMENT        0x4001000A
1125
 
#define NDIS_STATUS_MEDIA_CONNECT       0x4001000B
1126
 
#define NDIS_STATUS_MEDIA_DISCONNECT    0x4001000C
1127
 
#define NDIS_STATUS_HARDWARE_LINE_UP    0x4001000D
1128
 
#define NDIS_STATUS_HARDWARE_LINE_DOWN  0x4001000E
1129
 
#define NDIS_STATUS_INTERFACE_UP        0x4001000F
1130
 
#define NDIS_STATUS_INTERFACE_DOWN      0x40010010
1131
 
#define NDIS_STATUS_MEDIA_BUSY          0x40010011
 
1107
#define NDIS_STATUS_SUCCESS                     0
 
1108
#define NDIS_STATUS_PENDING                     0x00000103
 
1109
#define NDIS_STATUS_NOT_RECOGNIZED              0x00010001
 
1110
#define NDIS_STATUS_NOT_COPIED                  0x00010002
 
1111
#define NDIS_STATUS_NOT_ACCEPTED                0x00010003
 
1112
#define NDIS_STATUS_CALL_ACTIVE                 0x00010007
 
1113
#define NDIS_STATUS_ONLINE                      0x40010003
 
1114
#define NDIS_STATUS_RESET_START                 0x40010004
 
1115
#define NDIS_STATUS_RESET_END                   0x40010005
 
1116
#define NDIS_STATUS_RING_STATUS                 0x40010006
 
1117
#define NDIS_STATUS_CLOSED                      0x40010007
 
1118
#define NDIS_STATUS_WAN_LINE_UP                 0x40010008
 
1119
#define NDIS_STATUS_WAN_LINE_DOWN               0x40010009
 
1120
#define NDIS_STATUS_WAN_FRAGMENT                0x4001000A
 
1121
#define NDIS_STATUS_MEDIA_CONNECT               0x4001000B
 
1122
#define NDIS_STATUS_MEDIA_DISCONNECT            0x4001000C
 
1123
#define NDIS_STATUS_HARDWARE_LINE_UP            0x4001000D
 
1124
#define NDIS_STATUS_HARDWARE_LINE_DOWN          0x4001000E
 
1125
#define NDIS_STATUS_INTERFACE_UP                0x4001000F
 
1126
#define NDIS_STATUS_INTERFACE_DOWN              0x40010010
 
1127
#define NDIS_STATUS_MEDIA_BUSY                  0x40010011
1132
1128
#define NDIS_STATUS_MEDIA_SPECIFIC_INDICATION   0x40010012
1133
1129
#define NDIS_STATUS_WW_INDICATION NDIS_STATUS_MEDIA_SPECIFIC_INDICATION
1134
 
#define NDIS_STATUS_LINK_SPEED_CHANGE   0x40010013
1135
 
#define NDIS_STATUS_WAN_GET_STATS       0x40010014
1136
 
#define NDIS_STATUS_WAN_CO_FRAGMENT     0x40010015
1137
 
#define NDIS_STATUS_WAN_CO_LINKPARAMS   0x40010016
1138
 
#define NDIS_STATUS_NOT_RESETTABLE      0x80010001
1139
 
#define NDIS_STATUS_SOFT_ERRORS         0x80010003
1140
 
#define NDIS_STATUS_HARD_ERRORS         0x80010004
1141
 
#define NDIS_STATUS_BUFFER_OVERFLOW     0x80000005
1142
 
#define NDIS_STATUS_FAILURE             0xC0000001
1143
 
#define NDIS_STATUS_INVALID_PARAMETER 0xC000000D
1144
 
#define NDIS_STATUS_RESOURCES           0xC000009A
1145
 
#define NDIS_STATUS_CLOSING             0xC0010002
1146
 
#define NDIS_STATUS_BAD_VERSION         0xC0010004
1147
 
#define NDIS_STATUS_BAD_CHARACTERISTICS 0xC0010005
1148
 
#define NDIS_STATUS_ADAPTER_NOT_FOUND   0xC0010006
1149
 
#define NDIS_STATUS_OPEN_FAILED         0xC0010007
1150
 
#define NDIS_STATUS_DEVICE_FAILED       0xC0010008
1151
 
#define NDIS_STATUS_MULTICAST_FULL      0xC0010009
1152
 
#define NDIS_STATUS_MULTICAST_EXISTS    0xC001000A
1153
 
#define NDIS_STATUS_MULTICAST_NOT_FOUND 0xC001000B
1154
 
#define NDIS_STATUS_REQUEST_ABORTED     0xC001000C
1155
 
#define NDIS_STATUS_RESET_IN_PROGRESS   0xC001000D
1156
 
#define NDIS_STATUS_CLOSING_INDICATING  0xC001000E
1157
 
#define NDIS_STATUS_BAD_VERSION         0xC0010004
1158
 
#define NDIS_STATUS_NOT_SUPPORTED       0xC00000BB
1159
 
#define NDIS_STATUS_INVALID_PACKET      0xC001000F
1160
 
#define NDIS_STATUS_OPEN_LIST_FULL      0xC0010010
1161
 
#define NDIS_STATUS_ADAPTER_NOT_READY   0xC0010011
1162
 
#define NDIS_STATUS_ADAPTER_NOT_OPEN    0xC0010012
1163
 
#define NDIS_STATUS_NOT_INDICATING      0xC0010013
1164
 
#define NDIS_STATUS_INVALID_LENGTH      0xC0010014
1165
 
#define NDIS_STATUS_INVALID_DATA        0xC0010015
1166
 
#define NDIS_STATUS_BUFFER_TOO_SHORT    0xC0010016
1167
 
#define NDIS_STATUS_INVALID_OID         0xC0010017
1168
 
#define NDIS_STATUS_ADAPTER_REMOVED     0xC0010018
1169
 
#define NDIS_STATUS_UNSUPPORTED_MEDIA   0xC0010019
 
1130
#define NDIS_STATUS_LINK_SPEED_CHANGE           0x40010013
 
1131
#define NDIS_STATUS_WAN_GET_STATS               0x40010014
 
1132
#define NDIS_STATUS_WAN_CO_FRAGMENT             0x40010015
 
1133
#define NDIS_STATUS_WAN_CO_LINKPARAMS           0x40010016
 
1134
#define NDIS_STATUS_NOT_RESETTABLE              0x80010001
 
1135
#define NDIS_STATUS_SOFT_ERRORS                 0x80010003
 
1136
#define NDIS_STATUS_HARD_ERRORS                 0x80010004
 
1137
#define NDIS_STATUS_BUFFER_OVERFLOW             0x80000005
 
1138
#define NDIS_STATUS_FAILURE                     0xC0000001
 
1139
#define NDIS_STATUS_INVALID_PARAMETER           0xC000000D
 
1140
#define NDIS_STATUS_RESOURCES                   0xC000009A
 
1141
#define NDIS_STATUS_CLOSING                     0xC0010002
 
1142
#define NDIS_STATUS_BAD_VERSION                 0xC0010004
 
1143
#define NDIS_STATUS_BAD_CHARACTERISTICS         0xC0010005
 
1144
#define NDIS_STATUS_ADAPTER_NOT_FOUND           0xC0010006
 
1145
#define NDIS_STATUS_OPEN_FAILED                 0xC0010007
 
1146
#define NDIS_STATUS_DEVICE_FAILED               0xC0010008
 
1147
#define NDIS_STATUS_MULTICAST_FULL              0xC0010009
 
1148
#define NDIS_STATUS_MULTICAST_EXISTS            0xC001000A
 
1149
#define NDIS_STATUS_MULTICAST_NOT_FOUND         0xC001000B
 
1150
#define NDIS_STATUS_REQUEST_ABORTED             0xC001000C
 
1151
#define NDIS_STATUS_RESET_IN_PROGRESS           0xC001000D
 
1152
#define NDIS_STATUS_CLOSING_INDICATING          0xC001000E
 
1153
#define NDIS_STATUS_BAD_VERSION                 0xC0010004
 
1154
#define NDIS_STATUS_NOT_SUPPORTED               0xC00000BB
 
1155
#define NDIS_STATUS_INVALID_PACKET              0xC001000F
 
1156
#define NDIS_STATUS_OPEN_LIST_FULL              0xC0010010
 
1157
#define NDIS_STATUS_ADAPTER_NOT_READY           0xC0010011
 
1158
#define NDIS_STATUS_ADAPTER_NOT_OPEN            0xC0010012
 
1159
#define NDIS_STATUS_NOT_INDICATING              0xC0010013
 
1160
#define NDIS_STATUS_INVALID_LENGTH              0xC0010014
 
1161
#define NDIS_STATUS_INVALID_DATA                0xC0010015
 
1162
#define NDIS_STATUS_BUFFER_TOO_SHORT            0xC0010016
 
1163
#define NDIS_STATUS_INVALID_OID                 0xC0010017
 
1164
#define NDIS_STATUS_ADAPTER_REMOVED             0xC0010018
 
1165
#define NDIS_STATUS_UNSUPPORTED_MEDIA           0xC0010019
1170
1166
#define NDIS_STATUS_GROUP_ADDRESS_IN_USE        0xC001001A
1171
 
#define NDIS_STATUS_FILE_NOT_FOUND      0xC001001B
1172
 
#define NDIS_STATUS_ERROR_READING_FILE  0xC001001C
1173
 
#define NDIS_STATUS_ALREADY_MAPPED      0xC001001D
1174
 
#define NDIS_STATUS_RESOURCE_CONFLICT   0xC001001E
1175
 
#define NDIS_STATUS_NO_CABLE            0xC001001F
1176
 
#define NDIS_STATUS_INVALID_SAP         0xC0010020
1177
 
#define NDIS_STATUS_SAP_IN_USE          0xC0010021
1178
 
#define NDIS_STATUS_INVALID_ADDRESS     0xC0010022
1179
 
#define NDIS_STATUS_VC_NOT_ACTIVATED    0xC0010023
1180
 
#define NDIS_STATUS_DEST_OUT_OF_ORDER   0xC0010024
1181
 
#define NDIS_STATUS_VC_NOT_AVAILABLE    0xC0010025
 
1167
#define NDIS_STATUS_FILE_NOT_FOUND              0xC001001B
 
1168
#define NDIS_STATUS_ERROR_READING_FILE          0xC001001C
 
1169
#define NDIS_STATUS_ALREADY_MAPPED              0xC001001D
 
1170
#define NDIS_STATUS_RESOURCE_CONFLICT           0xC001001E
 
1171
#define NDIS_STATUS_NO_CABLE                    0xC001001F
 
1172
#define NDIS_STATUS_INVALID_SAP                 0xC0010020
 
1173
#define NDIS_STATUS_SAP_IN_USE                  0xC0010021
 
1174
#define NDIS_STATUS_INVALID_ADDRESS             0xC0010022
 
1175
#define NDIS_STATUS_VC_NOT_ACTIVATED            0xC0010023
 
1176
#define NDIS_STATUS_DEST_OUT_OF_ORDER           0xC0010024
 
1177
#define NDIS_STATUS_VC_NOT_AVAILABLE            0xC0010025
1182
1178
#define NDIS_STATUS_CELLRATE_NOT_AVAILABLE      0xC0010026
1183
 
#define NDIS_STATUS_INCOMPATABLE_QOS    0xC0010027
 
1179
#define NDIS_STATUS_INCOMPATABLE_QOS            0xC0010027
1184
1180
#define NDIS_STATUS_AAL_PARAMS_UNSUPPORTED      0xC0010028
1185
1181
#define NDIS_STATUS_NO_ROUTE_TO_DESTINATION     0xC0010029
1186
1182
#define NDIS_STATUS_TOKEN_RING_OPEN_ERROR       0xC0011000
1187
1183
#define NDIS_STATUS_INVALID_DEVICE_REQUEST      0xC0000010
1188
 
#define NDIS_STATUS_NETWORK_UNREACHABLE         0xC000023C
 
1184
#define NDIS_STATUS_NETWORK_UNREACHABLE         0xC000023C
1189
1185
 
1190
1186
/* Event codes */
1191
1187
 
1226
1222
#define EVENT_NDIS_RESET_FAILURE_CORRECTION     0x800013AA
1227
1223
 
1228
1224
/* packet filter bits used by NDIS_OID_PACKET_FILTER */
1229
 
#define NDIS_PACKET_TYPE_DIRECTED               0x00000001
1230
 
#define NDIS_PACKET_TYPE_MULTICAST              0x00000002
1231
 
#define NDIS_PACKET_TYPE_ALL_MULTICAST          0x00000004
1232
 
#define NDIS_PACKET_TYPE_BROADCAST              0x00000008
1233
 
#define NDIS_PACKET_TYPE_SOURCE_ROUTING         0x00000010
1234
 
#define NDIS_PACKET_TYPE_PROMISCUOUS            0x00000020
1235
 
#define NDIS_PACKET_TYPE_SMT                    0x00000040
1236
 
#define NDIS_PACKET_TYPE_ALL_LOCAL              0x00000080
1237
 
#define NDIS_PACKET_TYPE_GROUP                  0x00001000
1238
 
#define NDIS_PACKET_TYPE_ALL_FUNCTIONAL         0x00002000
1239
 
#define NDIS_PACKET_TYPE_FUNCTIONAL             0x00004000
1240
 
#define NDIS_PACKET_TYPE_MAC_FRAME              0x00008000
 
1225
#define NDIS_PACKET_TYPE_DIRECTED               0x00000001
 
1226
#define NDIS_PACKET_TYPE_MULTICAST              0x00000002
 
1227
#define NDIS_PACKET_TYPE_ALL_MULTICAST          0x00000004
 
1228
#define NDIS_PACKET_TYPE_BROADCAST              0x00000008
 
1229
#define NDIS_PACKET_TYPE_SOURCE_ROUTING         0x00000010
 
1230
#define NDIS_PACKET_TYPE_PROMISCUOUS            0x00000020
 
1231
#define NDIS_PACKET_TYPE_SMT                    0x00000040
 
1232
#define NDIS_PACKET_TYPE_ALL_LOCAL              0x00000080
 
1233
#define NDIS_PACKET_TYPE_GROUP                  0x00001000
 
1234
#define NDIS_PACKET_TYPE_ALL_FUNCTIONAL         0x00002000
 
1235
#define NDIS_PACKET_TYPE_FUNCTIONAL             0x00004000
 
1236
#define NDIS_PACKET_TYPE_MAC_FRAME              0x00008000
1241
1237
 
1242
1238
/* memory allocation flags */
1243
1239
#define NDIS_MEMORY_CONTIGUOUS                  0x00000001
1244
1240
#define NDIS_MEMORY_NONCACHED                   0x00000002
1245
1241
 
1246
1242
/* Attribute flags to NdisMSetAtrributesEx */
1247
 
#define NDIS_ATTRIBUTE_IGNORE_PACKET_TIMEOUT    0x00000001
1248
 
#define NDIS_ATTRIBUTE_IGNORE_REQUEST_TIMEOUT   0x00000002
1249
 
#define NDIS_ATTRIBUTE_IGNORE_TOKEN_RING_ERRORS 0x00000004
1250
 
#define NDIS_ATTRIBUTE_BUS_MASTER               0x00000008
1251
 
#define NDIS_ATTRIBUTE_INTERMEDIATE_DRIVER      0x00000010
1252
 
#define NDIS_ATTRIBUTE_DESERIALIZE              0x00000020
1253
 
#define NDIS_ATTRIBUTE_NO_HALT_ON_SUSPEND       0x00000040
1254
 
#define NDIS_ATTRIBUTE_SURPRISE_REMOVE_OK       0x00000080
1255
 
#define NDIS_ATTRIBUTE_NOT_CO_NDIS              0x00000100
1256
 
#define NDIS_ATTRIBUTE_USES_SAFE_BUFFER_APIS    0x00000200
 
1243
#define NDIS_ATTRIBUTE_IGNORE_PACKET_TIMEOUT    0x00000001
 
1244
#define NDIS_ATTRIBUTE_IGNORE_REQUEST_TIMEOUT   0x00000002
 
1245
#define NDIS_ATTRIBUTE_IGNORE_TOKEN_RING_ERRORS 0x00000004
 
1246
#define NDIS_ATTRIBUTE_BUS_MASTER               0x00000008
 
1247
#define NDIS_ATTRIBUTE_INTERMEDIATE_DRIVER      0x00000010
 
1248
#define NDIS_ATTRIBUTE_DESERIALIZE              0x00000020
 
1249
#define NDIS_ATTRIBUTE_NO_HALT_ON_SUSPEND       0x00000040
 
1250
#define NDIS_ATTRIBUTE_SURPRISE_REMOVE_OK       0x00000080
 
1251
#define NDIS_ATTRIBUTE_NOT_CO_NDIS              0x00000100
 
1252
#define NDIS_ATTRIBUTE_USES_SAFE_BUFFER_APIS    0x00000200
1257
1253
 
1258
1254
#define OID_TCP_TASK_OFFLOAD                    0xFC010201
1259
1255