aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/hyperv
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/net/hyperv
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/net/hyperv')
-rw-r--r--drivers/net/hyperv/hyperv_net.h290
1 files changed, 1 insertions, 289 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;