aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2012-05-11 18:15:50 -0400
committerDavid S. Miller <davem@davemloft.net>2012-05-12 15:02:22 -0400
commit7591157e1848b5db900b34016e2a2182329a93bb (patch)
tree47b1a5cfd7f4f1162831638d5be4514b3b8bc74b /drivers
parent7390e8b0dee778b0a964337558990a91094e679a (diff)
usb/net: rndis: break out <linux/rndis.h> defines
As a first step to consolidate the RNDIS implementations, break out a common file with all the #defines and move it to <linux/rndis.h>. This also deletes the immediate duplicated defines in the <linux/rndis.h> file that yields a lot of compilation warnings. Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/hyperv/hyperv_net.h290
-rw-r--r--drivers/net/wireless/rndis_wlan.c49
-rw-r--r--drivers/usb/gadget/ndis.h164
-rw-r--r--drivers/usb/gadget/rndis.h48
4 files changed, 2 insertions, 549 deletions
diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h
index c35824552792..4ffcd57b011b 100644
--- a/drivers/net/hyperv/hyperv_net.h
+++ b/drivers/net/hyperv/hyperv_net.h
@@ -27,6 +27,7 @@
27 27
28#include <linux/list.h> 28#include <linux/list.h>
29#include <linux/hyperv.h> 29#include <linux/hyperv.h>
30#include <linux/rndis.h>
30 31
31/* Fwd declaration */ 32/* Fwd declaration */
32struct hv_netvsc_packet; 33struct hv_netvsc_packet;
@@ -506,295 +507,6 @@ struct netvsc_device {
506 void *extension; 507 void *extension;
507}; 508};
508 509
509
510/* Status codes */
511
512
513#ifndef STATUS_SUCCESS
514#define STATUS_SUCCESS (0x00000000L)
515#endif
516
517#ifndef STATUS_UNSUCCESSFUL
518#define STATUS_UNSUCCESSFUL (0xC0000001L)
519#endif
520
521#ifndef STATUS_PENDING
522#define STATUS_PENDING (0x00000103L)
523#endif
524
525#ifndef STATUS_INSUFFICIENT_RESOURCES
526#define STATUS_INSUFFICIENT_RESOURCES (0xC000009AL)
527#endif
528
529#ifndef STATUS_BUFFER_OVERFLOW
530#define STATUS_BUFFER_OVERFLOW (0x80000005L)
531#endif
532
533#ifndef STATUS_NOT_SUPPORTED
534#define STATUS_NOT_SUPPORTED (0xC00000BBL)
535#endif
536
537#define RNDIS_STATUS_SUCCESS (STATUS_SUCCESS)
538#define RNDIS_STATUS_PENDING (STATUS_PENDING)
539#define RNDIS_STATUS_NOT_RECOGNIZED (0x00010001L)
540#define RNDIS_STATUS_NOT_COPIED (0x00010002L)
541#define RNDIS_STATUS_NOT_ACCEPTED (0x00010003L)
542#define RNDIS_STATUS_CALL_ACTIVE (0x00010007L)
543
544#define RNDIS_STATUS_ONLINE (0x40010003L)
545#define RNDIS_STATUS_RESET_START (0x40010004L)
546#define RNDIS_STATUS_RESET_END (0x40010005L)
547#define RNDIS_STATUS_RING_STATUS (0x40010006L)
548#define RNDIS_STATUS_CLOSED (0x40010007L)
549#define RNDIS_STATUS_WAN_LINE_UP (0x40010008L)
550#define RNDIS_STATUS_WAN_LINE_DOWN (0x40010009L)
551#define RNDIS_STATUS_WAN_FRAGMENT (0x4001000AL)
552#define RNDIS_STATUS_MEDIA_CONNECT (0x4001000BL)
553#define RNDIS_STATUS_MEDIA_DISCONNECT (0x4001000CL)
554#define RNDIS_STATUS_HARDWARE_LINE_UP (0x4001000DL)
555#define RNDIS_STATUS_HARDWARE_LINE_DOWN (0x4001000EL)
556#define RNDIS_STATUS_INTERFACE_UP (0x4001000FL)
557#define RNDIS_STATUS_INTERFACE_DOWN (0x40010010L)
558#define RNDIS_STATUS_MEDIA_BUSY (0x40010011L)
559#define RNDIS_STATUS_MEDIA_SPECIFIC_INDICATION (0x40010012L)
560#define RNDIS_STATUS_WW_INDICATION RDIA_SPECIFIC_INDICATION
561#define RNDIS_STATUS_LINK_SPEED_CHANGE (0x40010013L)
562
563#define RNDIS_STATUS_NOT_RESETTABLE (0x80010001L)
564#define RNDIS_STATUS_SOFT_ERRORS (0x80010003L)
565#define RNDIS_STATUS_HARD_ERRORS (0x80010004L)
566#define RNDIS_STATUS_BUFFER_OVERFLOW (STATUS_BUFFER_OVERFLOW)
567
568#define RNDIS_STATUS_FAILURE (STATUS_UNSUCCESSFUL)
569#define RNDIS_STATUS_RESOURCES (STATUS_INSUFFICIENT_RESOURCES)
570#define RNDIS_STATUS_CLOSING (0xC0010002L)
571#define RNDIS_STATUS_BAD_VERSION (0xC0010004L)
572#define RNDIS_STATUS_BAD_CHARACTERISTICS (0xC0010005L)
573#define RNDIS_STATUS_ADAPTER_NOT_FOUND (0xC0010006L)
574#define RNDIS_STATUS_OPEN_FAILED (0xC0010007L)
575#define RNDIS_STATUS_DEVICE_FAILED (0xC0010008L)
576#define RNDIS_STATUS_MULTICAST_FULL (0xC0010009L)
577#define RNDIS_STATUS_MULTICAST_EXISTS (0xC001000AL)
578#define RNDIS_STATUS_MULTICAST_NOT_FOUND (0xC001000BL)
579#define RNDIS_STATUS_REQUEST_ABORTED (0xC001000CL)
580#define RNDIS_STATUS_RESET_IN_PROGRESS (0xC001000DL)
581#define RNDIS_STATUS_CLOSING_INDICATING (0xC001000EL)
582#define RNDIS_STATUS_NOT_SUPPORTED (STATUS_NOT_SUPPORTED)
583#define RNDIS_STATUS_INVALID_PACKET (0xC001000FL)
584#define RNDIS_STATUS_OPEN_LIST_FULL (0xC0010010L)
585#define RNDIS_STATUS_ADAPTER_NOT_READY (0xC0010011L)
586#define RNDIS_STATUS_ADAPTER_NOT_OPEN (0xC0010012L)
587#define RNDIS_STATUS_NOT_INDICATING (0xC0010013L)
588#define RNDIS_STATUS_INVALID_LENGTH (0xC0010014L)
589#define RNDIS_STATUS_INVALID_DATA (0xC0010015L)
590#define RNDIS_STATUS_BUFFER_TOO_SHORT (0xC0010016L)
591#define RNDIS_STATUS_INVALID_OID (0xC0010017L)
592#define RNDIS_STATUS_ADAPTER_REMOVED (0xC0010018L)
593#define RNDIS_STATUS_UNSUPPORTED_MEDIA (0xC0010019L)
594#define RNDIS_STATUS_GROUP_ADDRESS_IN_USE (0xC001001AL)
595#define RNDIS_STATUS_FILE_NOT_FOUND (0xC001001BL)
596#define RNDIS_STATUS_ERROR_READING_FILE (0xC001001CL)
597#define RNDIS_STATUS_ALREADY_MAPPED (0xC001001DL)
598#define RNDIS_STATUS_RESOURCE_CONFLICT (0xC001001EL)
599#define RNDIS_STATUS_NO_CABLE (0xC001001FL)
600
601#define RNDIS_STATUS_INVALID_SAP (0xC0010020L)
602#define RNDIS_STATUS_SAP_IN_USE (0xC0010021L)
603#define RNDIS_STATUS_INVALID_ADDRESS (0xC0010022L)
604#define RNDIS_STATUS_VC_NOT_ACTIVATED (0xC0010023L)
605#define RNDIS_STATUS_DEST_OUT_OF_ORDER (0xC0010024L)
606#define RNDIS_STATUS_VC_NOT_AVAILABLE (0xC0010025L)
607#define RNDIS_STATUS_CELLRATE_NOT_AVAILABLE (0xC0010026L)
608#define RNDIS_STATUS_INCOMPATABLE_QOS (0xC0010027L)
609#define RNDIS_STATUS_AAL_PARAMS_UNSUPPORTED (0xC0010028L)
610#define RNDIS_STATUS_NO_ROUTE_TO_DESTINATION (0xC0010029L)
611
612#define RNDIS_STATUS_TOKEN_RING_OPEN_ERROR (0xC0011000L)
613
614/* Object Identifiers used by NdisRequest Query/Set Information */
615/* General Objects */
616#define RNDIS_OID_GEN_SUPPORTED_LIST 0x00010101
617#define RNDIS_OID_GEN_HARDWARE_STATUS 0x00010102
618#define RNDIS_OID_GEN_MEDIA_SUPPORTED 0x00010103
619#define RNDIS_OID_GEN_MEDIA_IN_USE 0x00010104
620#define RNDIS_OID_GEN_MAXIMUM_LOOKAHEAD 0x00010105
621#define RNDIS_OID_GEN_MAXIMUM_FRAME_SIZE 0x00010106
622#define RNDIS_OID_GEN_LINK_SPEED 0x00010107
623#define RNDIS_OID_GEN_TRANSMIT_BUFFER_SPACE 0x00010108
624#define RNDIS_OID_GEN_RECEIVE_BUFFER_SPACE 0x00010109
625#define RNDIS_OID_GEN_TRANSMIT_BLOCK_SIZE 0x0001010A
626#define RNDIS_OID_GEN_RECEIVE_BLOCK_SIZE 0x0001010B
627#define RNDIS_OID_GEN_VENDOR_ID 0x0001010C
628#define RNDIS_OID_GEN_VENDOR_DESCRIPTION 0x0001010D
629#define RNDIS_OID_GEN_CURRENT_PACKET_FILTER 0x0001010E
630#define RNDIS_OID_GEN_CURRENT_LOOKAHEAD 0x0001010F
631#define RNDIS_OID_GEN_DRIVER_VERSION 0x00010110
632#define RNDIS_OID_GEN_MAXIMUM_TOTAL_SIZE 0x00010111
633#define RNDIS_OID_GEN_PROTOCOL_OPTIONS 0x00010112
634#define RNDIS_OID_GEN_MAC_OPTIONS 0x00010113
635#define RNDIS_OID_GEN_MEDIA_CONNECT_STATUS 0x00010114
636#define RNDIS_OID_GEN_MAXIMUM_SEND_PACKETS 0x00010115
637#define RNDIS_OID_GEN_VENDOR_DRIVER_VERSION 0x00010116
638#define RNDIS_OID_GEN_NETWORK_LAYER_ADDRESSES 0x00010118
639#define RNDIS_OID_GEN_TRANSPORT_HEADER_OFFSET 0x00010119
640#define RNDIS_OID_GEN_MACHINE_NAME 0x0001021A
641#define RNDIS_OID_GEN_RNDIS_CONFIG_PARAMETER 0x0001021B
642
643#define RNDIS_OID_GEN_XMIT_OK 0x00020101
644#define RNDIS_OID_GEN_RCV_OK 0x00020102
645#define RNDIS_OID_GEN_XMIT_ERROR 0x00020103
646#define RNDIS_OID_GEN_RCV_ERROR 0x00020104
647#define RNDIS_OID_GEN_RCV_NO_BUFFER 0x00020105
648
649#define RNDIS_OID_GEN_DIRECTED_BYTES_XMIT 0x00020201
650#define RNDIS_OID_GEN_DIRECTED_FRAMES_XMIT 0x00020202
651#define RNDIS_OID_GEN_MULTICAST_BYTES_XMIT 0x00020203
652#define RNDIS_OID_GEN_MULTICAST_FRAMES_XMIT 0x00020204
653#define RNDIS_OID_GEN_BROADCAST_BYTES_XMIT 0x00020205
654#define RNDIS_OID_GEN_BROADCAST_FRAMES_XMIT 0x00020206
655#define RNDIS_OID_GEN_DIRECTED_BYTES_RCV 0x00020207
656#define RNDIS_OID_GEN_DIRECTED_FRAMES_RCV 0x00020208
657#define RNDIS_OID_GEN_MULTICAST_BYTES_RCV 0x00020209
658#define RNDIS_OID_GEN_MULTICAST_FRAMES_RCV 0x0002020A
659#define RNDIS_OID_GEN_BROADCAST_BYTES_RCV 0x0002020B
660#define RNDIS_OID_GEN_BROADCAST_FRAMES_RCV 0x0002020C
661
662#define RNDIS_OID_GEN_RCV_CRC_ERROR 0x0002020D
663#define RNDIS_OID_GEN_TRANSMIT_QUEUE_LENGTH 0x0002020E
664
665#define RNDIS_OID_GEN_GET_TIME_CAPS 0x0002020F
666#define RNDIS_OID_GEN_GET_NETCARD_TIME 0x00020210
667
668/* These are connection-oriented general OIDs. */
669/* These replace the above OIDs for connection-oriented media. */
670#define RNDIS_OID_GEN_CO_SUPPORTED_LIST 0x00010101
671#define RNDIS_OID_GEN_CO_HARDWARE_STATUS 0x00010102
672#define RNDIS_OID_GEN_CO_MEDIA_SUPPORTED 0x00010103
673#define RNDIS_OID_GEN_CO_MEDIA_IN_USE 0x00010104
674#define RNDIS_OID_GEN_CO_LINK_SPEED 0x00010105
675#define RNDIS_OID_GEN_CO_VENDOR_ID 0x00010106
676#define RNDIS_OID_GEN_CO_VENDOR_DESCRIPTION 0x00010107
677#define RNDIS_OID_GEN_CO_DRIVER_VERSION 0x00010108
678#define RNDIS_OID_GEN_CO_PROTOCOL_OPTIONS 0x00010109
679#define RNDIS_OID_GEN_CO_MAC_OPTIONS 0x0001010A
680#define RNDIS_OID_GEN_CO_MEDIA_CONNECT_STATUS 0x0001010B
681#define RNDIS_OID_GEN_CO_VENDOR_DRIVER_VERSION 0x0001010C
682#define RNDIS_OID_GEN_CO_MINIMUM_LINK_SPEED 0x0001010D
683
684#define RNDIS_OID_GEN_CO_GET_TIME_CAPS 0x00010201
685#define RNDIS_OID_GEN_CO_GET_NETCARD_TIME 0x00010202
686
687/* These are connection-oriented statistics OIDs. */
688#define RNDIS_OID_GEN_CO_XMIT_PDUS_OK 0x00020101
689#define RNDIS_OID_GEN_CO_RCV_PDUS_OK 0x00020102
690#define RNDIS_OID_GEN_CO_XMIT_PDUS_ERROR 0x00020103
691#define RNDIS_OID_GEN_CO_RCV_PDUS_ERROR 0x00020104
692#define RNDIS_OID_GEN_CO_RCV_PDUS_NO_BUFFER 0x00020105
693
694
695#define RNDIS_OID_GEN_CO_RCV_CRC_ERROR 0x00020201
696#define RNDIS_OID_GEN_CO_TRANSMIT_QUEUE_LENGTH 0x00020202
697#define RNDIS_OID_GEN_CO_BYTES_XMIT 0x00020203
698#define RNDIS_OID_GEN_CO_BYTES_RCV 0x00020204
699#define RNDIS_OID_GEN_CO_BYTES_XMIT_OUTSTANDING 0x00020205
700#define RNDIS_OID_GEN_CO_NETCARD_LOAD 0x00020206
701
702/* These are objects for Connection-oriented media call-managers. */
703#define RNDIS_OID_CO_ADD_PVC 0xFF000001
704#define RNDIS_OID_CO_DELETE_PVC 0xFF000002
705#define RNDIS_OID_CO_GET_CALL_INFORMATION 0xFF000003
706#define RNDIS_OID_CO_ADD_ADDRESS 0xFF000004
707#define RNDIS_OID_CO_DELETE_ADDRESS 0xFF000005
708#define RNDIS_OID_CO_GET_ADDRESSES 0xFF000006
709#define RNDIS_OID_CO_ADDRESS_CHANGE 0xFF000007
710#define RNDIS_OID_CO_SIGNALING_ENABLED 0xFF000008
711#define RNDIS_OID_CO_SIGNALING_DISABLED 0xFF000009
712
713/* 802.3 Objects (Ethernet) */
714#define RNDIS_OID_802_3_PERMANENT_ADDRESS 0x01010101
715#define RNDIS_OID_802_3_CURRENT_ADDRESS 0x01010102
716#define RNDIS_OID_802_3_MULTICAST_LIST 0x01010103
717#define RNDIS_OID_802_3_MAXIMUM_LIST_SIZE 0x01010104
718#define RNDIS_OID_802_3_MAC_OPTIONS 0x01010105
719
720#define NDIS_802_3_MAC_OPTION_PRIORITY 0x00000001
721
722#define RNDIS_OID_802_3_RCV_ERROR_ALIGNMENT 0x01020101
723#define RNDIS_OID_802_3_XMIT_ONE_COLLISION 0x01020102
724#define RNDIS_OID_802_3_XMIT_MORE_COLLISIONS 0x01020103
725
726#define RNDIS_OID_802_3_XMIT_DEFERRED 0x01020201
727#define RNDIS_OID_802_3_XMIT_MAX_COLLISIONS 0x01020202
728#define RNDIS_OID_802_3_RCV_OVERRUN 0x01020203
729#define RNDIS_OID_802_3_XMIT_UNDERRUN 0x01020204
730#define RNDIS_OID_802_3_XMIT_HEARTBEAT_FAILURE 0x01020205
731#define RNDIS_OID_802_3_XMIT_TIMES_CRS_LOST 0x01020206
732#define RNDIS_OID_802_3_XMIT_LATE_COLLISIONS 0x01020207
733
734/* Remote NDIS message types */
735#define REMOTE_NDIS_PACKET_MSG 0x00000001
736#define REMOTE_NDIS_INITIALIZE_MSG 0x00000002
737#define REMOTE_NDIS_HALT_MSG 0x00000003
738#define REMOTE_NDIS_QUERY_MSG 0x00000004
739#define REMOTE_NDIS_SET_MSG 0x00000005
740#define REMOTE_NDIS_RESET_MSG 0x00000006
741#define REMOTE_NDIS_INDICATE_STATUS_MSG 0x00000007
742#define REMOTE_NDIS_KEEPALIVE_MSG 0x00000008
743
744#define REMOTE_CONDIS_MP_CREATE_VC_MSG 0x00008001
745#define REMOTE_CONDIS_MP_DELETE_VC_MSG 0x00008002
746#define REMOTE_CONDIS_MP_ACTIVATE_VC_MSG 0x00008005
747#define REMOTE_CONDIS_MP_DEACTIVATE_VC_MSG 0x00008006
748#define REMOTE_CONDIS_INDICATE_STATUS_MSG 0x00008007
749
750/* Remote NDIS message completion types */
751#define REMOTE_NDIS_INITIALIZE_CMPLT 0x80000002
752#define REMOTE_NDIS_QUERY_CMPLT 0x80000004
753#define REMOTE_NDIS_SET_CMPLT 0x80000005
754#define REMOTE_NDIS_RESET_CMPLT 0x80000006
755#define REMOTE_NDIS_KEEPALIVE_CMPLT 0x80000008
756
757#define REMOTE_CONDIS_MP_CREATE_VC_CMPLT 0x80008001
758#define REMOTE_CONDIS_MP_DELETE_VC_CMPLT 0x80008002
759#define REMOTE_CONDIS_MP_ACTIVATE_VC_CMPLT 0x80008005
760#define REMOTE_CONDIS_MP_DEACTIVATE_VC_CMPLT 0x80008006
761
762/*
763 * Reserved message type for private communication between lower-layer host
764 * driver and remote device, if necessary.
765 */
766#define REMOTE_NDIS_BUS_MSG 0xff000001
767
768/* Defines for DeviceFlags in struct rndis_initialize_complete */
769#define RNDIS_DF_CONNECTIONLESS 0x00000001
770#define RNDIS_DF_CONNECTION_ORIENTED 0x00000002
771#define RNDIS_DF_RAW_DATA 0x00000004
772
773/* Remote NDIS medium types. */
774#define RNDIS_MEDIUM_802_3 0x00000000
775#define RNDIS_MEDIUM_802_5 0x00000001
776#define RNDIS_MEDIUM_FDDI 0x00000002
777#define RNDIS_MEDIUM_WAN 0x00000003
778#define RNDIS_MEDIUM_LOCAL_TALK 0x00000004
779#define RNDIS_MEDIUM_ARCNET_RAW 0x00000006
780#define RNDIS_MEDIUM_ARCNET_878_2 0x00000007
781#define RNDIS_MEDIUM_ATM 0x00000008
782#define RNDIS_MEDIUM_WIRELESS_WAN 0x00000009
783#define RNDIS_MEDIUM_IRDA 0x0000000a
784#define RNDIS_MEDIUM_CO_WAN 0x0000000b
785/* Not a real medium, defined as an upper-bound */
786#define RNDIS_MEDIUM_MAX 0x0000000d
787
788
789/* Remote NDIS medium connection states. */
790#define RNDIS_MEDIA_STATE_CONNECTED 0x00000000
791#define RNDIS_MEDIA_STATE_DISCONNECTED 0x00000001
792
793/* Remote NDIS version numbers */
794#define RNDIS_MAJOR_VERSION 0x00000001
795#define RNDIS_MINOR_VERSION 0x00000000
796
797
798/* NdisInitialize message */ 510/* NdisInitialize message */
799struct rndis_initialize_request { 511struct rndis_initialize_request {
800 u32 req_id; 512 u32 req_id;
diff --git a/drivers/net/wireless/rndis_wlan.c b/drivers/net/wireless/rndis_wlan.c
index cd828e3b8e40..dc3caba2c18b 100644
--- a/drivers/net/wireless/rndis_wlan.c
+++ b/drivers/net/wireless/rndis_wlan.c
@@ -88,49 +88,6 @@ module_param_named(workaround_interval, modparam_workaround_interval,
88MODULE_PARM_DESC(workaround_interval, 88MODULE_PARM_DESC(workaround_interval,
89 "set stall workaround interval in msecs (0=disabled) (default: 0)"); 89 "set stall workaround interval in msecs (0=disabled) (default: 0)");
90 90
91
92/* various RNDIS OID defs */
93#define OID_GEN_LINK_SPEED 0x00010107
94#define OID_GEN_RNDIS_CONFIG_PARAMETER 0x0001021b
95
96#define OID_GEN_XMIT_OK 0x00020101
97#define OID_GEN_RCV_OK 0x00020102
98#define OID_GEN_XMIT_ERROR 0x00020103
99#define OID_GEN_RCV_ERROR 0x00020104
100#define OID_GEN_RCV_NO_BUFFER 0x00020105
101
102#define OID_802_3_CURRENT_ADDRESS 0x01010102
103#define OID_802_3_MULTICAST_LIST 0x01010103
104#define OID_802_3_MAXIMUM_LIST_SIZE 0x01010104
105
106#define OID_802_11_BSSID 0x0d010101
107#define OID_802_11_SSID 0x0d010102
108#define OID_802_11_INFRASTRUCTURE_MODE 0x0d010108
109#define OID_802_11_ADD_WEP 0x0d010113
110#define OID_802_11_REMOVE_WEP 0x0d010114
111#define OID_802_11_DISASSOCIATE 0x0d010115
112#define OID_802_11_AUTHENTICATION_MODE 0x0d010118
113#define OID_802_11_PRIVACY_FILTER 0x0d010119
114#define OID_802_11_BSSID_LIST_SCAN 0x0d01011a
115#define OID_802_11_ENCRYPTION_STATUS 0x0d01011b
116#define OID_802_11_ADD_KEY 0x0d01011d
117#define OID_802_11_REMOVE_KEY 0x0d01011e
118#define OID_802_11_ASSOCIATION_INFORMATION 0x0d01011f
119#define OID_802_11_CAPABILITY 0x0d010122
120#define OID_802_11_PMKID 0x0d010123
121#define OID_802_11_NETWORK_TYPES_SUPPORTED 0x0d010203
122#define OID_802_11_NETWORK_TYPE_IN_USE 0x0d010204
123#define OID_802_11_TX_POWER_LEVEL 0x0d010205
124#define OID_802_11_RSSI 0x0d010206
125#define OID_802_11_RSSI_TRIGGER 0x0d010207
126#define OID_802_11_FRAGMENTATION_THRESHOLD 0x0d010209
127#define OID_802_11_RTS_THRESHOLD 0x0d01020a
128#define OID_802_11_SUPPORTED_RATES 0x0d01020e
129#define OID_802_11_CONFIGURATION 0x0d010211
130#define OID_802_11_POWER_MODE 0x0d010216
131#define OID_802_11_BSSID_LIST 0x0d010217
132
133
134/* Typical noise/maximum signal level values taken from ndiswrapper iw_ndis.h */ 91/* Typical noise/maximum signal level values taken from ndiswrapper iw_ndis.h */
135#define WL_NOISE -96 /* typical noise level in dBm */ 92#define WL_NOISE -96 /* typical noise level in dBm */
136#define WL_SIGMAX -32 /* typical maximum signal level in dBm */ 93#define WL_SIGMAX -32 /* typical maximum signal level in dBm */
@@ -149,12 +106,6 @@ MODULE_PARM_DESC(workaround_interval,
149#define BCM4320_DEFAULT_TXPOWER_DBM_50 10 106#define BCM4320_DEFAULT_TXPOWER_DBM_50 10
150#define BCM4320_DEFAULT_TXPOWER_DBM_25 7 107#define BCM4320_DEFAULT_TXPOWER_DBM_25 7
151 108
152
153/* codes for "status" field of completion messages */
154#define RNDIS_STATUS_ADAPTER_NOT_READY 0xc0010011
155#define RNDIS_STATUS_ADAPTER_NOT_OPEN 0xc0010012
156
157
158/* Known device types */ 109/* Known device types */
159#define RNDIS_UNKNOWN 0 110#define RNDIS_UNKNOWN 0
160#define RNDIS_BCM4320A 1 111#define RNDIS_BCM4320A 1
diff --git a/drivers/usb/gadget/ndis.h b/drivers/usb/gadget/ndis.h
index b0e52fc277b4..a19f72dec0cd 100644
--- a/drivers/usb/gadget/ndis.h
+++ b/drivers/usb/gadget/ndis.h
@@ -15,11 +15,6 @@
15#ifndef _LINUX_NDIS_H 15#ifndef _LINUX_NDIS_H
16#define _LINUX_NDIS_H 16#define _LINUX_NDIS_H
17 17
18
19#define NDIS_STATUS_MULTICAST_FULL 0xC0010009
20#define NDIS_STATUS_MULTICAST_EXISTS 0xC001000A
21#define NDIS_STATUS_MULTICAST_NOT_FOUND 0xC001000B
22
23enum NDIS_DEVICE_POWER_STATE { 18enum NDIS_DEVICE_POWER_STATE {
24 NdisDeviceStateUnspecified = 0, 19 NdisDeviceStateUnspecified = 0,
25 NdisDeviceStateD0, 20 NdisDeviceStateD0,
@@ -35,11 +30,6 @@ struct NDIS_PM_WAKE_UP_CAPABILITIES {
35 enum NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp; 30 enum NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp;
36}; 31};
37 32
38/* NDIS_PNP_CAPABILITIES.Flags constants */
39#define NDIS_DEVICE_WAKE_UP_ENABLE 0x00000001
40#define NDIS_DEVICE_WAKE_ON_PATTERN_MATCH_ENABLE 0x00000002
41#define NDIS_DEVICE_WAKE_ON_MAGIC_PACKET_ENABLE 0x00000004
42
43struct NDIS_PNP_CAPABILITIES { 33struct NDIS_PNP_CAPABILITIES {
44 __le32 Flags; 34 __le32 Flags;
45 struct NDIS_PM_WAKE_UP_CAPABILITIES WakeUpCapabilities; 35 struct NDIS_PM_WAKE_UP_CAPABILITIES WakeUpCapabilities;
@@ -54,158 +44,4 @@ struct NDIS_PM_PACKET_PATTERN {
54 __le32 PatternFlags; 44 __le32 PatternFlags;
55}; 45};
56 46
57
58/* Required Object IDs (OIDs) */
59#define OID_GEN_SUPPORTED_LIST 0x00010101
60#define OID_GEN_HARDWARE_STATUS 0x00010102
61#define OID_GEN_MEDIA_SUPPORTED 0x00010103
62#define OID_GEN_MEDIA_IN_USE 0x00010104
63#define OID_GEN_MAXIMUM_LOOKAHEAD 0x00010105
64#define OID_GEN_MAXIMUM_FRAME_SIZE 0x00010106
65#define OID_GEN_LINK_SPEED 0x00010107
66#define OID_GEN_TRANSMIT_BUFFER_SPACE 0x00010108
67#define OID_GEN_RECEIVE_BUFFER_SPACE 0x00010109
68#define OID_GEN_TRANSMIT_BLOCK_SIZE 0x0001010A
69#define OID_GEN_RECEIVE_BLOCK_SIZE 0x0001010B
70#define OID_GEN_VENDOR_ID 0x0001010C
71#define OID_GEN_VENDOR_DESCRIPTION 0x0001010D
72#define OID_GEN_CURRENT_PACKET_FILTER 0x0001010E
73#define OID_GEN_CURRENT_LOOKAHEAD 0x0001010F
74#define OID_GEN_DRIVER_VERSION 0x00010110
75#define OID_GEN_MAXIMUM_TOTAL_SIZE 0x00010111
76#define OID_GEN_PROTOCOL_OPTIONS 0x00010112
77#define OID_GEN_MAC_OPTIONS 0x00010113
78#define OID_GEN_MEDIA_CONNECT_STATUS 0x00010114
79#define OID_GEN_MAXIMUM_SEND_PACKETS 0x00010115
80#define OID_GEN_VENDOR_DRIVER_VERSION 0x00010116
81#define OID_GEN_SUPPORTED_GUIDS 0x00010117
82#define OID_GEN_NETWORK_LAYER_ADDRESSES 0x00010118
83#define OID_GEN_TRANSPORT_HEADER_OFFSET 0x00010119
84#define OID_GEN_MACHINE_NAME 0x0001021A
85#define OID_GEN_RNDIS_CONFIG_PARAMETER 0x0001021B
86#define OID_GEN_VLAN_ID 0x0001021C
87
88/* Optional OIDs */
89#define OID_GEN_MEDIA_CAPABILITIES 0x00010201
90#define OID_GEN_PHYSICAL_MEDIUM 0x00010202
91
92/* Required statistics OIDs */
93#define OID_GEN_XMIT_OK 0x00020101
94#define OID_GEN_RCV_OK 0x00020102
95#define OID_GEN_XMIT_ERROR 0x00020103
96#define OID_GEN_RCV_ERROR 0x00020104
97#define OID_GEN_RCV_NO_BUFFER 0x00020105
98
99/* Optional statistics OIDs */
100#define OID_GEN_DIRECTED_BYTES_XMIT 0x00020201
101#define OID_GEN_DIRECTED_FRAMES_XMIT 0x00020202
102#define OID_GEN_MULTICAST_BYTES_XMIT 0x00020203
103#define OID_GEN_MULTICAST_FRAMES_XMIT 0x00020204
104#define OID_GEN_BROADCAST_BYTES_XMIT 0x00020205
105#define OID_GEN_BROADCAST_FRAMES_XMIT 0x00020206
106#define OID_GEN_DIRECTED_BYTES_RCV 0x00020207
107#define OID_GEN_DIRECTED_FRAMES_RCV 0x00020208
108#define OID_GEN_MULTICAST_BYTES_RCV 0x00020209
109#define OID_GEN_MULTICAST_FRAMES_RCV 0x0002020A
110#define OID_GEN_BROADCAST_BYTES_RCV 0x0002020B
111#define OID_GEN_BROADCAST_FRAMES_RCV 0x0002020C
112#define OID_GEN_RCV_CRC_ERROR 0x0002020D
113#define OID_GEN_TRANSMIT_QUEUE_LENGTH 0x0002020E
114#define OID_GEN_GET_TIME_CAPS 0x0002020F
115#define OID_GEN_GET_NETCARD_TIME 0x00020210
116#define OID_GEN_NETCARD_LOAD 0x00020211
117#define OID_GEN_DEVICE_PROFILE 0x00020212
118#define OID_GEN_INIT_TIME_MS 0x00020213
119#define OID_GEN_RESET_COUNTS 0x00020214
120#define OID_GEN_MEDIA_SENSE_COUNTS 0x00020215
121#define OID_GEN_FRIENDLY_NAME 0x00020216
122#define OID_GEN_MINIPORT_INFO 0x00020217
123#define OID_GEN_RESET_VERIFY_PARAMETERS 0x00020218
124
125/* IEEE 802.3 (Ethernet) OIDs */
126#define NDIS_802_3_MAC_OPTION_PRIORITY 0x00000001
127
128#define OID_802_3_PERMANENT_ADDRESS 0x01010101
129#define OID_802_3_CURRENT_ADDRESS 0x01010102
130#define OID_802_3_MULTICAST_LIST 0x01010103
131#define OID_802_3_MAXIMUM_LIST_SIZE 0x01010104
132#define OID_802_3_MAC_OPTIONS 0x01010105
133#define OID_802_3_RCV_ERROR_ALIGNMENT 0x01020101
134#define OID_802_3_XMIT_ONE_COLLISION 0x01020102
135#define OID_802_3_XMIT_MORE_COLLISIONS 0x01020103
136#define OID_802_3_XMIT_DEFERRED 0x01020201
137#define OID_802_3_XMIT_MAX_COLLISIONS 0x01020202
138#define OID_802_3_RCV_OVERRUN 0x01020203
139#define OID_802_3_XMIT_UNDERRUN 0x01020204
140#define OID_802_3_XMIT_HEARTBEAT_FAILURE 0x01020205
141#define OID_802_3_XMIT_TIMES_CRS_LOST 0x01020206
142#define OID_802_3_XMIT_LATE_COLLISIONS 0x01020207
143
144/* OID_GEN_MINIPORT_INFO constants */
145#define NDIS_MINIPORT_BUS_MASTER 0x00000001
146#define NDIS_MINIPORT_WDM_DRIVER 0x00000002
147#define NDIS_MINIPORT_SG_LIST 0x00000004
148#define NDIS_MINIPORT_SUPPORTS_MEDIA_QUERY 0x00000008
149#define NDIS_MINIPORT_INDICATES_PACKETS 0x00000010
150#define NDIS_MINIPORT_IGNORE_PACKET_QUEUE 0x00000020
151#define NDIS_MINIPORT_IGNORE_REQUEST_QUEUE 0x00000040
152#define NDIS_MINIPORT_IGNORE_TOKEN_RING_ERRORS 0x00000080
153#define NDIS_MINIPORT_INTERMEDIATE_DRIVER 0x00000100
154#define NDIS_MINIPORT_IS_NDIS_5 0x00000200
155#define NDIS_MINIPORT_IS_CO 0x00000400
156#define NDIS_MINIPORT_DESERIALIZE 0x00000800
157#define NDIS_MINIPORT_REQUIRES_MEDIA_POLLING 0x00001000
158#define NDIS_MINIPORT_SUPPORTS_MEDIA_SENSE 0x00002000
159#define NDIS_MINIPORT_NETBOOT_CARD 0x00004000
160#define NDIS_MINIPORT_PM_SUPPORTED 0x00008000
161#define NDIS_MINIPORT_SUPPORTS_MAC_ADDRESS_OVERWRITE 0x00010000
162#define NDIS_MINIPORT_USES_SAFE_BUFFER_APIS 0x00020000
163#define NDIS_MINIPORT_HIDDEN 0x00040000
164#define NDIS_MINIPORT_SWENUM 0x00080000
165#define NDIS_MINIPORT_SURPRISE_REMOVE_OK 0x00100000
166#define NDIS_MINIPORT_NO_HALT_ON_SUSPEND 0x00200000
167#define NDIS_MINIPORT_HARDWARE_DEVICE 0x00400000
168#define NDIS_MINIPORT_SUPPORTS_CANCEL_SEND_PACKETS 0x00800000
169#define NDIS_MINIPORT_64BITS_DMA 0x01000000
170
171#define NDIS_MEDIUM_802_3 0x00000000
172#define NDIS_MEDIUM_802_5 0x00000001
173#define NDIS_MEDIUM_FDDI 0x00000002
174#define NDIS_MEDIUM_WAN 0x00000003
175#define NDIS_MEDIUM_LOCAL_TALK 0x00000004
176#define NDIS_MEDIUM_DIX 0x00000005
177#define NDIS_MEDIUM_ARCENT_RAW 0x00000006
178#define NDIS_MEDIUM_ARCENT_878_2 0x00000007
179#define NDIS_MEDIUM_ATM 0x00000008
180#define NDIS_MEDIUM_WIRELESS_LAN 0x00000009
181#define NDIS_MEDIUM_IRDA 0x0000000A
182#define NDIS_MEDIUM_BPC 0x0000000B
183#define NDIS_MEDIUM_CO_WAN 0x0000000C
184#define NDIS_MEDIUM_1394 0x0000000D
185
186#define NDIS_PACKET_TYPE_DIRECTED 0x00000001
187#define NDIS_PACKET_TYPE_MULTICAST 0x00000002
188#define NDIS_PACKET_TYPE_ALL_MULTICAST 0x00000004
189#define NDIS_PACKET_TYPE_BROADCAST 0x00000008
190#define NDIS_PACKET_TYPE_SOURCE_ROUTING 0x00000010
191#define NDIS_PACKET_TYPE_PROMISCUOUS 0x00000020
192#define NDIS_PACKET_TYPE_SMT 0x00000040
193#define NDIS_PACKET_TYPE_ALL_LOCAL 0x00000080
194#define NDIS_PACKET_TYPE_GROUP 0x00000100
195#define NDIS_PACKET_TYPE_ALL_FUNCTIONAL 0x00000200
196#define NDIS_PACKET_TYPE_FUNCTIONAL 0x00000400
197#define NDIS_PACKET_TYPE_MAC_FRAME 0x00000800
198
199#define NDIS_MEDIA_STATE_CONNECTED 0x00000000
200#define NDIS_MEDIA_STATE_DISCONNECTED 0x00000001
201
202#define NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA 0x00000001
203#define NDIS_MAC_OPTION_RECEIVE_SERIALIZED 0x00000002
204#define NDIS_MAC_OPTION_TRANSFERS_NOT_PEND 0x00000004
205#define NDIS_MAC_OPTION_NO_LOOPBACK 0x00000008
206#define NDIS_MAC_OPTION_FULL_DUPLEX 0x00000010
207#define NDIS_MAC_OPTION_EOTX_INDICATION 0x00000020
208#define NDIS_MAC_OPTION_8021P_PRIORITY 0x00000040
209#define NDIS_MAC_OPTION_RESERVED 0x80000000
210
211#endif /* _LINUX_NDIS_H */ 47#endif /* _LINUX_NDIS_H */
diff --git a/drivers/usb/gadget/rndis.h b/drivers/usb/gadget/rndis.h
index 907c33008118..0647f2f34e89 100644
--- a/drivers/usb/gadget/rndis.h
+++ b/drivers/usb/gadget/rndis.h
@@ -15,58 +15,12 @@
15#ifndef _LINUX_RNDIS_H 15#ifndef _LINUX_RNDIS_H
16#define _LINUX_RNDIS_H 16#define _LINUX_RNDIS_H
17 17
18#include <linux/rndis.h>
18#include "ndis.h" 19#include "ndis.h"
19 20
20#define RNDIS_MAXIMUM_FRAME_SIZE 1518 21#define RNDIS_MAXIMUM_FRAME_SIZE 1518
21#define RNDIS_MAX_TOTAL_SIZE 1558 22#define RNDIS_MAX_TOTAL_SIZE 1558
22 23
23/* Remote NDIS Versions */
24#define RNDIS_MAJOR_VERSION 1
25#define RNDIS_MINOR_VERSION 0
26
27/* Status Values */
28#define RNDIS_STATUS_SUCCESS 0x00000000U /* Success */
29#define RNDIS_STATUS_FAILURE 0xC0000001U /* Unspecified error */
30#define RNDIS_STATUS_INVALID_DATA 0xC0010015U /* Invalid data */
31#define RNDIS_STATUS_NOT_SUPPORTED 0xC00000BBU /* Unsupported request */
32#define RNDIS_STATUS_MEDIA_CONNECT 0x4001000BU /* Device connected */
33#define RNDIS_STATUS_MEDIA_DISCONNECT 0x4001000CU /* Device disconnected */
34/* For all not specified status messages:
35 * RNDIS_STATUS_Xxx -> NDIS_STATUS_Xxx
36 */
37
38/* Message Set for Connectionless (802.3) Devices */
39#define REMOTE_NDIS_PACKET_MSG 0x00000001U
40#define REMOTE_NDIS_INITIALIZE_MSG 0x00000002U /* Initialize device */
41#define REMOTE_NDIS_HALT_MSG 0x00000003U
42#define REMOTE_NDIS_QUERY_MSG 0x00000004U
43#define REMOTE_NDIS_SET_MSG 0x00000005U
44#define REMOTE_NDIS_RESET_MSG 0x00000006U
45#define REMOTE_NDIS_INDICATE_STATUS_MSG 0x00000007U
46#define REMOTE_NDIS_KEEPALIVE_MSG 0x00000008U
47
48/* Message completion */
49#define REMOTE_NDIS_INITIALIZE_CMPLT 0x80000002U
50#define REMOTE_NDIS_QUERY_CMPLT 0x80000004U
51#define REMOTE_NDIS_SET_CMPLT 0x80000005U
52#define REMOTE_NDIS_RESET_CMPLT 0x80000006U
53#define REMOTE_NDIS_KEEPALIVE_CMPLT 0x80000008U
54
55/* Device Flags */
56#define RNDIS_DF_CONNECTIONLESS 0x00000001U
57#define RNDIS_DF_CONNECTION_ORIENTED 0x00000002U
58
59#define RNDIS_MEDIUM_802_3 0x00000000U
60
61/* from drivers/net/sk98lin/h/skgepnmi.h */
62#define OID_PNP_CAPABILITIES 0xFD010100
63#define OID_PNP_SET_POWER 0xFD010101
64#define OID_PNP_QUERY_POWER 0xFD010102
65#define OID_PNP_ADD_WAKE_UP_PATTERN 0xFD010103
66#define OID_PNP_REMOVE_WAKE_UP_PATTERN 0xFD010104
67#define OID_PNP_ENABLE_WAKE_UP 0xFD010106
68
69
70typedef struct rndis_init_msg_type 24typedef struct rndis_init_msg_type
71{ 25{
72 __le32 MessageType; 26 __le32 MessageType;