1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 2c80174f3SLinus Walleij /* 3c80174f3SLinus Walleij * Remote Network Driver Interface Specification (RNDIS) 4c80174f3SLinus Walleij * definitions of the magic numbers used by this protocol 5c80174f3SLinus Walleij */ 67591157eSLinus Walleij 7e20289edSLinus Walleij /* Remote NDIS Versions */ 8e20289edSLinus Walleij #define RNDIS_MAJOR_VERSION 0x00000001 9e20289edSLinus Walleij #define RNDIS_MINOR_VERSION 0x00000000 107591157eSLinus Walleij 11e20289edSLinus Walleij /* Device Flags */ 12e20289edSLinus Walleij #define RNDIS_DF_CONNECTIONLESS 0x00000001U 13e20289edSLinus Walleij #define RNDIS_DF_CONNECTION_ORIENTED 0x00000002U 14e20289edSLinus Walleij #define RNDIS_DF_RAW_DATA 0x00000004U 15e20289edSLinus Walleij 16e20289edSLinus Walleij /* 17e20289edSLinus Walleij * Codes for "msg_type" field of rndis messages; 187591157eSLinus Walleij * only the data channel uses packet messages (maybe batched); 197591157eSLinus Walleij * everything else goes on the control channel. 207591157eSLinus Walleij */ 21e20289edSLinus Walleij #define RNDIS_MSG_COMPLETION 0x80000000 227591157eSLinus Walleij #define RNDIS_MSG_PACKET 0x00000001 /* 1-N packets */ 237591157eSLinus Walleij #define RNDIS_MSG_INIT 0x00000002 247591157eSLinus Walleij #define RNDIS_MSG_INIT_C (RNDIS_MSG_INIT|RNDIS_MSG_COMPLETION) 257591157eSLinus Walleij #define RNDIS_MSG_HALT 0x00000003 267591157eSLinus Walleij #define RNDIS_MSG_QUERY 0x00000004 277591157eSLinus Walleij #define RNDIS_MSG_QUERY_C (RNDIS_MSG_QUERY|RNDIS_MSG_COMPLETION) 287591157eSLinus Walleij #define RNDIS_MSG_SET 0x00000005 297591157eSLinus Walleij #define RNDIS_MSG_SET_C (RNDIS_MSG_SET|RNDIS_MSG_COMPLETION) 307591157eSLinus Walleij #define RNDIS_MSG_RESET 0x00000006 317591157eSLinus Walleij #define RNDIS_MSG_RESET_C (RNDIS_MSG_RESET|RNDIS_MSG_COMPLETION) 327591157eSLinus Walleij #define RNDIS_MSG_INDICATE 0x00000007 337591157eSLinus Walleij #define RNDIS_MSG_KEEPALIVE 0x00000008 347591157eSLinus Walleij #define RNDIS_MSG_KEEPALIVE_C (RNDIS_MSG_KEEPALIVE|RNDIS_MSG_COMPLETION) 35d5543206SLinus Walleij /* 36d5543206SLinus Walleij * Reserved message type for private communication between lower-layer host 37d5543206SLinus Walleij * driver and remote device, if necessary. 38d5543206SLinus Walleij */ 39d5543206SLinus Walleij #define RNDIS_MSG_BUS 0xff000001 407591157eSLinus Walleij 417591157eSLinus Walleij /* codes for "status" field of completion messages */ 427591157eSLinus Walleij #define RNDIS_STATUS_SUCCESS 0x00000000 4391d6aef7SLinus Walleij #define RNDIS_STATUS_PENDING 0x00000103 4491d6aef7SLinus Walleij 4591d6aef7SLinus Walleij /* Status codes */ 4691d6aef7SLinus Walleij #define RNDIS_STATUS_NOT_RECOGNIZED 0x00010001 4791d6aef7SLinus Walleij #define RNDIS_STATUS_NOT_COPIED 0x00010002 4891d6aef7SLinus Walleij #define RNDIS_STATUS_NOT_ACCEPTED 0x00010003 4991d6aef7SLinus Walleij #define RNDIS_STATUS_CALL_ACTIVE 0x00010007 5091d6aef7SLinus Walleij 5191d6aef7SLinus Walleij #define RNDIS_STATUS_ONLINE 0x40010003 5291d6aef7SLinus Walleij #define RNDIS_STATUS_RESET_START 0x40010004 5391d6aef7SLinus Walleij #define RNDIS_STATUS_RESET_END 0x40010005 5491d6aef7SLinus Walleij #define RNDIS_STATUS_RING_STATUS 0x40010006 5591d6aef7SLinus Walleij #define RNDIS_STATUS_CLOSED 0x40010007 5691d6aef7SLinus Walleij #define RNDIS_STATUS_WAN_LINE_UP 0x40010008 5791d6aef7SLinus Walleij #define RNDIS_STATUS_WAN_LINE_DOWN 0x40010009 5891d6aef7SLinus Walleij #define RNDIS_STATUS_WAN_FRAGMENT 0x4001000A 5991d6aef7SLinus Walleij #define RNDIS_STATUS_MEDIA_CONNECT 0x4001000B 6091d6aef7SLinus Walleij #define RNDIS_STATUS_MEDIA_DISCONNECT 0x4001000C 6191d6aef7SLinus Walleij #define RNDIS_STATUS_HARDWARE_LINE_UP 0x4001000D 6291d6aef7SLinus Walleij #define RNDIS_STATUS_HARDWARE_LINE_DOWN 0x4001000E 6391d6aef7SLinus Walleij #define RNDIS_STATUS_INTERFACE_UP 0x4001000F 6491d6aef7SLinus Walleij #define RNDIS_STATUS_INTERFACE_DOWN 0x40010010 6591d6aef7SLinus Walleij #define RNDIS_STATUS_MEDIA_BUSY 0x40010011 667591157eSLinus Walleij #define RNDIS_STATUS_MEDIA_SPECIFIC_INDICATION 0x40010012 6791d6aef7SLinus Walleij #define RNDIS_STATUS_WW_INDICATION RDIA_SPECIFIC_INDICATION 6891d6aef7SLinus Walleij #define RNDIS_STATUS_LINK_SPEED_CHANGE 0x40010013L 693a494e71SHaiyang Zhang #define RNDIS_STATUS_NETWORK_CHANGE 0x40010018 7091d6aef7SLinus Walleij 7191d6aef7SLinus Walleij #define RNDIS_STATUS_NOT_RESETTABLE 0x80010001 7291d6aef7SLinus Walleij #define RNDIS_STATUS_SOFT_ERRORS 0x80010003 7391d6aef7SLinus Walleij #define RNDIS_STATUS_HARD_ERRORS 0x80010004 7491d6aef7SLinus Walleij #define RNDIS_STATUS_BUFFER_OVERFLOW 0x80000005 7591d6aef7SLinus Walleij 7691d6aef7SLinus Walleij #define RNDIS_STATUS_FAILURE 0xC0000001 7791d6aef7SLinus Walleij #define RNDIS_STATUS_RESOURCES 0xC000009A 7891d6aef7SLinus Walleij #define RNDIS_STATUS_NOT_SUPPORTED 0xc00000BB 7991d6aef7SLinus Walleij #define RNDIS_STATUS_CLOSING 0xC0010002 8091d6aef7SLinus Walleij #define RNDIS_STATUS_BAD_VERSION 0xC0010004 8191d6aef7SLinus Walleij #define RNDIS_STATUS_BAD_CHARACTERISTICS 0xC0010005 8291d6aef7SLinus Walleij #define RNDIS_STATUS_ADAPTER_NOT_FOUND 0xC0010006 8391d6aef7SLinus Walleij #define RNDIS_STATUS_OPEN_FAILED 0xC0010007 8491d6aef7SLinus Walleij #define RNDIS_STATUS_DEVICE_FAILED 0xC0010008 8591d6aef7SLinus Walleij #define RNDIS_STATUS_MULTICAST_FULL 0xC0010009 8691d6aef7SLinus Walleij #define RNDIS_STATUS_MULTICAST_EXISTS 0xC001000A 8791d6aef7SLinus Walleij #define RNDIS_STATUS_MULTICAST_NOT_FOUND 0xC001000B 8891d6aef7SLinus Walleij #define RNDIS_STATUS_REQUEST_ABORTED 0xC001000C 8991d6aef7SLinus Walleij #define RNDIS_STATUS_RESET_IN_PROGRESS 0xC001000D 9091d6aef7SLinus Walleij #define RNDIS_STATUS_CLOSING_INDICATING 0xC001000E 9191d6aef7SLinus Walleij #define RNDIS_STATUS_INVALID_PACKET 0xC001000F 9291d6aef7SLinus Walleij #define RNDIS_STATUS_OPEN_LIST_FULL 0xC0010010 9391d6aef7SLinus Walleij #define RNDIS_STATUS_ADAPTER_NOT_READY 0xC0010011 9491d6aef7SLinus Walleij #define RNDIS_STATUS_ADAPTER_NOT_OPEN 0xC0010012 9591d6aef7SLinus Walleij #define RNDIS_STATUS_NOT_INDICATING 0xC0010013 9691d6aef7SLinus Walleij #define RNDIS_STATUS_INVALID_LENGTH 0xC0010014 9791d6aef7SLinus Walleij #define RNDIS_STATUS_INVALID_DATA 0xC0010015 9891d6aef7SLinus Walleij #define RNDIS_STATUS_BUFFER_TOO_SHORT 0xC0010016 9991d6aef7SLinus Walleij #define RNDIS_STATUS_INVALID_OID 0xC0010017 10091d6aef7SLinus Walleij #define RNDIS_STATUS_ADAPTER_REMOVED 0xC0010018 10191d6aef7SLinus Walleij #define RNDIS_STATUS_UNSUPPORTED_MEDIA 0xC0010019 10291d6aef7SLinus Walleij #define RNDIS_STATUS_GROUP_ADDRESS_IN_USE 0xC001001A 10391d6aef7SLinus Walleij #define RNDIS_STATUS_FILE_NOT_FOUND 0xC001001B 10491d6aef7SLinus Walleij #define RNDIS_STATUS_ERROR_READING_FILE 0xC001001C 10591d6aef7SLinus Walleij #define RNDIS_STATUS_ALREADY_MAPPED 0xC001001D 10691d6aef7SLinus Walleij #define RNDIS_STATUS_RESOURCE_CONFLICT 0xC001001E 10791d6aef7SLinus Walleij #define RNDIS_STATUS_NO_CABLE 0xC001001F 10891d6aef7SLinus Walleij 10991d6aef7SLinus Walleij #define RNDIS_STATUS_INVALID_SAP 0xC0010020 11091d6aef7SLinus Walleij #define RNDIS_STATUS_SAP_IN_USE 0xC0010021 11191d6aef7SLinus Walleij #define RNDIS_STATUS_INVALID_ADDRESS 0xC0010022 11291d6aef7SLinus Walleij #define RNDIS_STATUS_VC_NOT_ACTIVATED 0xC0010023 11391d6aef7SLinus Walleij #define RNDIS_STATUS_DEST_OUT_OF_ORDER 0xC0010024 11491d6aef7SLinus Walleij #define RNDIS_STATUS_VC_NOT_AVAILABLE 0xC0010025 11591d6aef7SLinus Walleij #define RNDIS_STATUS_CELLRATE_NOT_AVAILABLE 0xC0010026 11691d6aef7SLinus Walleij #define RNDIS_STATUS_INCOMPATABLE_QOS 0xC0010027 11791d6aef7SLinus Walleij #define RNDIS_STATUS_AAL_PARAMS_UNSUPPORTED 0xC0010028 11891d6aef7SLinus Walleij #define RNDIS_STATUS_NO_ROUTE_TO_DESTINATION 0xC0010029 11991d6aef7SLinus Walleij 12091d6aef7SLinus Walleij #define RNDIS_STATUS_TOKEN_RING_OPEN_ERROR 0xC0011000 1217591157eSLinus Walleij 1228cdddc3fSLinus Walleij /* codes for RNDIS_OID_GEN_PHYSICAL_MEDIUM */ 1237591157eSLinus Walleij #define RNDIS_PHYSICAL_MEDIUM_UNSPECIFIED 0x00000000 1247591157eSLinus Walleij #define RNDIS_PHYSICAL_MEDIUM_WIRELESS_LAN 0x00000001 1257591157eSLinus Walleij #define RNDIS_PHYSICAL_MEDIUM_CABLE_MODEM 0x00000002 1267591157eSLinus Walleij #define RNDIS_PHYSICAL_MEDIUM_PHONE_LINE 0x00000003 1277591157eSLinus Walleij #define RNDIS_PHYSICAL_MEDIUM_POWER_LINE 0x00000004 1287591157eSLinus Walleij #define RNDIS_PHYSICAL_MEDIUM_DSL 0x00000005 1297591157eSLinus Walleij #define RNDIS_PHYSICAL_MEDIUM_FIBRE_CHANNEL 0x00000006 1307591157eSLinus Walleij #define RNDIS_PHYSICAL_MEDIUM_1394 0x00000007 1317591157eSLinus Walleij #define RNDIS_PHYSICAL_MEDIUM_WIRELESS_WAN 0x00000008 1327591157eSLinus Walleij #define RNDIS_PHYSICAL_MEDIUM_MAX 0x00000009 1337591157eSLinus Walleij 13417c51b6cSLinus Walleij /* Remote NDIS medium types. */ 13517c51b6cSLinus Walleij #define RNDIS_MEDIUM_UNSPECIFIED 0x00000000 13617c51b6cSLinus Walleij #define RNDIS_MEDIUM_802_3 0x00000000 13717c51b6cSLinus Walleij #define RNDIS_MEDIUM_802_5 0x00000001 13817c51b6cSLinus Walleij #define RNDIS_MEDIUM_FDDI 0x00000002 13917c51b6cSLinus Walleij #define RNDIS_MEDIUM_WAN 0x00000003 14017c51b6cSLinus Walleij #define RNDIS_MEDIUM_LOCAL_TALK 0x00000004 14117c51b6cSLinus Walleij #define RNDIS_MEDIUM_ARCNET_RAW 0x00000006 14217c51b6cSLinus Walleij #define RNDIS_MEDIUM_ARCNET_878_2 0x00000007 14317c51b6cSLinus Walleij #define RNDIS_MEDIUM_ATM 0x00000008 14417c51b6cSLinus Walleij #define RNDIS_MEDIUM_WIRELESS_LAN 0x00000009 14517c51b6cSLinus Walleij #define RNDIS_MEDIUM_IRDA 0x0000000A 14617c51b6cSLinus Walleij #define RNDIS_MEDIUM_BPC 0x0000000B 14717c51b6cSLinus Walleij #define RNDIS_MEDIUM_CO_WAN 0x0000000C 14817c51b6cSLinus Walleij #define RNDIS_MEDIUM_1394 0x0000000D 14917c51b6cSLinus Walleij /* Not a real medium, defined as an upper-bound */ 15017c51b6cSLinus Walleij #define RNDIS_MEDIUM_MAX 0x0000000E 15117c51b6cSLinus Walleij 15217c51b6cSLinus Walleij /* Remote NDIS medium connection states. */ 15317c51b6cSLinus Walleij #define RNDIS_MEDIA_STATE_CONNECTED 0x00000000 15417c51b6cSLinus Walleij #define RNDIS_MEDIA_STATE_DISCONNECTED 0x00000001 15517c51b6cSLinus Walleij 1568cdddc3fSLinus Walleij /* packet filter bits used by RNDIS_OID_GEN_CURRENT_PACKET_FILTER */ 1577591157eSLinus Walleij #define RNDIS_PACKET_TYPE_DIRECTED 0x00000001 1587591157eSLinus Walleij #define RNDIS_PACKET_TYPE_MULTICAST 0x00000002 1597591157eSLinus Walleij #define RNDIS_PACKET_TYPE_ALL_MULTICAST 0x00000004 1607591157eSLinus Walleij #define RNDIS_PACKET_TYPE_BROADCAST 0x00000008 1617591157eSLinus Walleij #define RNDIS_PACKET_TYPE_SOURCE_ROUTING 0x00000010 1627591157eSLinus Walleij #define RNDIS_PACKET_TYPE_PROMISCUOUS 0x00000020 1637591157eSLinus Walleij #define RNDIS_PACKET_TYPE_SMT 0x00000040 1647591157eSLinus Walleij #define RNDIS_PACKET_TYPE_ALL_LOCAL 0x00000080 1657591157eSLinus Walleij #define RNDIS_PACKET_TYPE_GROUP 0x00001000 1667591157eSLinus Walleij #define RNDIS_PACKET_TYPE_ALL_FUNCTIONAL 0x00002000 1677591157eSLinus Walleij #define RNDIS_PACKET_TYPE_FUNCTIONAL 0x00004000 1687591157eSLinus Walleij #define RNDIS_PACKET_TYPE_MAC_FRAME 0x00008000 1697591157eSLinus Walleij 1708cdddc3fSLinus Walleij /* RNDIS_OID_GEN_MINIPORT_INFO constants */ 171e20289edSLinus Walleij #define RNDIS_MINIPORT_BUS_MASTER 0x00000001 172e20289edSLinus Walleij #define RNDIS_MINIPORT_WDM_DRIVER 0x00000002 173e20289edSLinus Walleij #define RNDIS_MINIPORT_SG_LIST 0x00000004 174e20289edSLinus Walleij #define RNDIS_MINIPORT_SUPPORTS_MEDIA_QUERY 0x00000008 175e20289edSLinus Walleij #define RNDIS_MINIPORT_INDICATES_PACKETS 0x00000010 176e20289edSLinus Walleij #define RNDIS_MINIPORT_IGNORE_PACKET_QUEUE 0x00000020 177e20289edSLinus Walleij #define RNDIS_MINIPORT_IGNORE_REQUEST_QUEUE 0x00000040 178e20289edSLinus Walleij #define RNDIS_MINIPORT_IGNORE_TOKEN_RING_ERRORS 0x00000080 179e20289edSLinus Walleij #define RNDIS_MINIPORT_INTERMEDIATE_DRIVER 0x00000100 180e20289edSLinus Walleij #define RNDIS_MINIPORT_IS_NDIS_5 0x00000200 181e20289edSLinus Walleij #define RNDIS_MINIPORT_IS_CO 0x00000400 182e20289edSLinus Walleij #define RNDIS_MINIPORT_DESERIALIZE 0x00000800 183e20289edSLinus Walleij #define RNDIS_MINIPORT_REQUIRES_MEDIA_POLLING 0x00001000 184e20289edSLinus Walleij #define RNDIS_MINIPORT_SUPPORTS_MEDIA_SENSE 0x00002000 185e20289edSLinus Walleij #define RNDIS_MINIPORT_NETBOOT_CARD 0x00004000 186e20289edSLinus Walleij #define RNDIS_MINIPORT_PM_SUPPORTED 0x00008000 187e20289edSLinus Walleij #define RNDIS_MINIPORT_SUPPORTS_MAC_ADDRESS_OVERWRITE 0x00010000 188e20289edSLinus Walleij #define RNDIS_MINIPORT_USES_SAFE_BUFFER_APIS 0x00020000 189e20289edSLinus Walleij #define RNDIS_MINIPORT_HIDDEN 0x00040000 190e20289edSLinus Walleij #define RNDIS_MINIPORT_SWENUM 0x00080000 191e20289edSLinus Walleij #define RNDIS_MINIPORT_SURPRISE_REMOVE_OK 0x00100000 192e20289edSLinus Walleij #define RNDIS_MINIPORT_NO_HALT_ON_SUSPEND 0x00200000 193e20289edSLinus Walleij #define RNDIS_MINIPORT_HARDWARE_DEVICE 0x00400000 194e20289edSLinus Walleij #define RNDIS_MINIPORT_SUPPORTS_CANCEL_SEND_PACKETS 0x00800000 195e20289edSLinus Walleij #define RNDIS_MINIPORT_64BITS_DMA 0x01000000 1967591157eSLinus Walleij 197e20289edSLinus Walleij #define RNDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA 0x00000001 198e20289edSLinus Walleij #define RNDIS_MAC_OPTION_RECEIVE_SERIALIZED 0x00000002 199e20289edSLinus Walleij #define RNDIS_MAC_OPTION_TRANSFERS_NOT_PEND 0x00000004 200e20289edSLinus Walleij #define RNDIS_MAC_OPTION_NO_LOOPBACK 0x00000008 201e20289edSLinus Walleij #define RNDIS_MAC_OPTION_FULL_DUPLEX 0x00000010 202e20289edSLinus Walleij #define RNDIS_MAC_OPTION_EOTX_INDICATION 0x00000020 203e20289edSLinus Walleij #define RNDIS_MAC_OPTION_8021P_PRIORITY 0x00000040 204e20289edSLinus Walleij #define RNDIS_MAC_OPTION_RESERVED 0x80000000 2057591157eSLinus Walleij 2067591157eSLinus Walleij /* Object Identifiers used by NdisRequest Query/Set Information */ 2078cdddc3fSLinus Walleij /* General (Required) Objects */ 2087591157eSLinus Walleij #define RNDIS_OID_GEN_SUPPORTED_LIST 0x00010101 2097591157eSLinus Walleij #define RNDIS_OID_GEN_HARDWARE_STATUS 0x00010102 2107591157eSLinus Walleij #define RNDIS_OID_GEN_MEDIA_SUPPORTED 0x00010103 2117591157eSLinus Walleij #define RNDIS_OID_GEN_MEDIA_IN_USE 0x00010104 2127591157eSLinus Walleij #define RNDIS_OID_GEN_MAXIMUM_LOOKAHEAD 0x00010105 2138cdddc3fSLinus Walleij #define RNDIS_OID_GEN_MAXIMUM_FRAME_SIZE 0x00010106 2147591157eSLinus Walleij #define RNDIS_OID_GEN_LINK_SPEED 0x00010107 2157591157eSLinus Walleij #define RNDIS_OID_GEN_TRANSMIT_BUFFER_SPACE 0x00010108 2167591157eSLinus Walleij #define RNDIS_OID_GEN_RECEIVE_BUFFER_SPACE 0x00010109 2177591157eSLinus Walleij #define RNDIS_OID_GEN_TRANSMIT_BLOCK_SIZE 0x0001010A 2187591157eSLinus Walleij #define RNDIS_OID_GEN_RECEIVE_BLOCK_SIZE 0x0001010B 2197591157eSLinus Walleij #define RNDIS_OID_GEN_VENDOR_ID 0x0001010C 2207591157eSLinus Walleij #define RNDIS_OID_GEN_VENDOR_DESCRIPTION 0x0001010D 2217591157eSLinus Walleij #define RNDIS_OID_GEN_CURRENT_PACKET_FILTER 0x0001010E 2227591157eSLinus Walleij #define RNDIS_OID_GEN_CURRENT_LOOKAHEAD 0x0001010F 2237591157eSLinus Walleij #define RNDIS_OID_GEN_DRIVER_VERSION 0x00010110 2247591157eSLinus Walleij #define RNDIS_OID_GEN_MAXIMUM_TOTAL_SIZE 0x00010111 2257591157eSLinus Walleij #define RNDIS_OID_GEN_PROTOCOL_OPTIONS 0x00010112 2267591157eSLinus Walleij #define RNDIS_OID_GEN_MAC_OPTIONS 0x00010113 2277591157eSLinus Walleij #define RNDIS_OID_GEN_MEDIA_CONNECT_STATUS 0x00010114 2287591157eSLinus Walleij #define RNDIS_OID_GEN_MAXIMUM_SEND_PACKETS 0x00010115 2297591157eSLinus Walleij #define RNDIS_OID_GEN_VENDOR_DRIVER_VERSION 0x00010116 2308cdddc3fSLinus Walleij #define RNDIS_OID_GEN_SUPPORTED_GUIDS 0x00010117 2317591157eSLinus Walleij #define RNDIS_OID_GEN_NETWORK_LAYER_ADDRESSES 0x00010118 2327591157eSLinus Walleij #define RNDIS_OID_GEN_TRANSPORT_HEADER_OFFSET 0x00010119 2338cdddc3fSLinus Walleij #define RNDIS_OID_GEN_PHYSICAL_MEDIUM 0x00010202 2347591157eSLinus Walleij #define RNDIS_OID_GEN_MACHINE_NAME 0x0001021A 2358cdddc3fSLinus Walleij #define RNDIS_OID_GEN_RNDIS_CONFIG_PARAMETER 0x0001021B 2368cdddc3fSLinus Walleij #define RNDIS_OID_GEN_VLAN_ID 0x0001021C 2377591157eSLinus Walleij 2388cdddc3fSLinus Walleij /* Optional OIDs */ 239e20289edSLinus Walleij #define RNDIS_OID_GEN_MEDIA_CAPABILITIES 0x00010201 2408cdddc3fSLinus Walleij 2418cdddc3fSLinus Walleij /* Required statistics OIDs */ 2427591157eSLinus Walleij #define RNDIS_OID_GEN_XMIT_OK 0x00020101 2437591157eSLinus Walleij #define RNDIS_OID_GEN_RCV_OK 0x00020102 2447591157eSLinus Walleij #define RNDIS_OID_GEN_XMIT_ERROR 0x00020103 2457591157eSLinus Walleij #define RNDIS_OID_GEN_RCV_ERROR 0x00020104 2467591157eSLinus Walleij #define RNDIS_OID_GEN_RCV_NO_BUFFER 0x00020105 2477591157eSLinus Walleij 2488cdddc3fSLinus Walleij /* Optional statistics OIDs */ 2497591157eSLinus Walleij #define RNDIS_OID_GEN_DIRECTED_BYTES_XMIT 0x00020201 2507591157eSLinus Walleij #define RNDIS_OID_GEN_DIRECTED_FRAMES_XMIT 0x00020202 2517591157eSLinus Walleij #define RNDIS_OID_GEN_MULTICAST_BYTES_XMIT 0x00020203 2527591157eSLinus Walleij #define RNDIS_OID_GEN_MULTICAST_FRAMES_XMIT 0x00020204 2537591157eSLinus Walleij #define RNDIS_OID_GEN_BROADCAST_BYTES_XMIT 0x00020205 2547591157eSLinus Walleij #define RNDIS_OID_GEN_BROADCAST_FRAMES_XMIT 0x00020206 2557591157eSLinus Walleij #define RNDIS_OID_GEN_DIRECTED_BYTES_RCV 0x00020207 2567591157eSLinus Walleij #define RNDIS_OID_GEN_DIRECTED_FRAMES_RCV 0x00020208 2577591157eSLinus Walleij #define RNDIS_OID_GEN_MULTICAST_BYTES_RCV 0x00020209 2587591157eSLinus Walleij #define RNDIS_OID_GEN_MULTICAST_FRAMES_RCV 0x0002020A 2597591157eSLinus Walleij #define RNDIS_OID_GEN_BROADCAST_BYTES_RCV 0x0002020B 2607591157eSLinus Walleij #define RNDIS_OID_GEN_BROADCAST_FRAMES_RCV 0x0002020C 2617591157eSLinus Walleij 2627591157eSLinus Walleij #define RNDIS_OID_GEN_RCV_CRC_ERROR 0x0002020D 2637591157eSLinus Walleij #define RNDIS_OID_GEN_TRANSMIT_QUEUE_LENGTH 0x0002020E 2647591157eSLinus Walleij 2657591157eSLinus Walleij #define RNDIS_OID_GEN_GET_TIME_CAPS 0x0002020F 2667591157eSLinus Walleij #define RNDIS_OID_GEN_GET_NETCARD_TIME 0x00020210 2677591157eSLinus Walleij 2688cdddc3fSLinus Walleij #define RNDIS_OID_GEN_NETCARD_LOAD 0x00020211 2698cdddc3fSLinus Walleij #define RNDIS_OID_GEN_DEVICE_PROFILE 0x00020212 2708cdddc3fSLinus Walleij #define RNDIS_OID_GEN_INIT_TIME_MS 0x00020213 2718cdddc3fSLinus Walleij #define RNDIS_OID_GEN_RESET_COUNTS 0x00020214 2728cdddc3fSLinus Walleij #define RNDIS_OID_GEN_MEDIA_SENSE_COUNTS 0x00020215 2738cdddc3fSLinus Walleij #define RNDIS_OID_GEN_FRIENDLY_NAME 0x00020216 2748cdddc3fSLinus Walleij #define RNDIS_OID_GEN_MINIPORT_INFO 0x00020217 2758cdddc3fSLinus Walleij #define RNDIS_OID_GEN_RESET_VERIFY_PARAMETERS 0x00020218 2768cdddc3fSLinus Walleij 2777591157eSLinus Walleij /* These are connection-oriented general OIDs. */ 2787591157eSLinus Walleij /* These replace the above OIDs for connection-oriented media. */ 2797591157eSLinus Walleij #define RNDIS_OID_GEN_CO_SUPPORTED_LIST 0x00010101 2807591157eSLinus Walleij #define RNDIS_OID_GEN_CO_HARDWARE_STATUS 0x00010102 2817591157eSLinus Walleij #define RNDIS_OID_GEN_CO_MEDIA_SUPPORTED 0x00010103 2827591157eSLinus Walleij #define RNDIS_OID_GEN_CO_MEDIA_IN_USE 0x00010104 2837591157eSLinus Walleij #define RNDIS_OID_GEN_CO_LINK_SPEED 0x00010105 2847591157eSLinus Walleij #define RNDIS_OID_GEN_CO_VENDOR_ID 0x00010106 2857591157eSLinus Walleij #define RNDIS_OID_GEN_CO_VENDOR_DESCRIPTION 0x00010107 2867591157eSLinus Walleij #define RNDIS_OID_GEN_CO_DRIVER_VERSION 0x00010108 2877591157eSLinus Walleij #define RNDIS_OID_GEN_CO_PROTOCOL_OPTIONS 0x00010109 2887591157eSLinus Walleij #define RNDIS_OID_GEN_CO_MAC_OPTIONS 0x0001010A 2897591157eSLinus Walleij #define RNDIS_OID_GEN_CO_MEDIA_CONNECT_STATUS 0x0001010B 2907591157eSLinus Walleij #define RNDIS_OID_GEN_CO_VENDOR_DRIVER_VERSION 0x0001010C 2917591157eSLinus Walleij #define RNDIS_OID_GEN_CO_MINIMUM_LINK_SPEED 0x0001010D 2927591157eSLinus Walleij 2937591157eSLinus Walleij #define RNDIS_OID_GEN_CO_GET_TIME_CAPS 0x00010201 2947591157eSLinus Walleij #define RNDIS_OID_GEN_CO_GET_NETCARD_TIME 0x00010202 2957591157eSLinus Walleij 2967591157eSLinus Walleij /* These are connection-oriented statistics OIDs. */ 2977591157eSLinus Walleij #define RNDIS_OID_GEN_CO_XMIT_PDUS_OK 0x00020101 2987591157eSLinus Walleij #define RNDIS_OID_GEN_CO_RCV_PDUS_OK 0x00020102 2997591157eSLinus Walleij #define RNDIS_OID_GEN_CO_XMIT_PDUS_ERROR 0x00020103 3007591157eSLinus Walleij #define RNDIS_OID_GEN_CO_RCV_PDUS_ERROR 0x00020104 3017591157eSLinus Walleij #define RNDIS_OID_GEN_CO_RCV_PDUS_NO_BUFFER 0x00020105 3027591157eSLinus Walleij 3037591157eSLinus Walleij 3047591157eSLinus Walleij #define RNDIS_OID_GEN_CO_RCV_CRC_ERROR 0x00020201 3057591157eSLinus Walleij #define RNDIS_OID_GEN_CO_TRANSMIT_QUEUE_LENGTH 0x00020202 3067591157eSLinus Walleij #define RNDIS_OID_GEN_CO_BYTES_XMIT 0x00020203 3077591157eSLinus Walleij #define RNDIS_OID_GEN_CO_BYTES_RCV 0x00020204 3087591157eSLinus Walleij #define RNDIS_OID_GEN_CO_BYTES_XMIT_OUTSTANDING 0x00020205 3097591157eSLinus Walleij #define RNDIS_OID_GEN_CO_NETCARD_LOAD 0x00020206 3107591157eSLinus Walleij 3117591157eSLinus Walleij /* These are objects for Connection-oriented media call-managers. */ 3127591157eSLinus Walleij #define RNDIS_OID_CO_ADD_PVC 0xFF000001 3137591157eSLinus Walleij #define RNDIS_OID_CO_DELETE_PVC 0xFF000002 3147591157eSLinus Walleij #define RNDIS_OID_CO_GET_CALL_INFORMATION 0xFF000003 3157591157eSLinus Walleij #define RNDIS_OID_CO_ADD_ADDRESS 0xFF000004 3167591157eSLinus Walleij #define RNDIS_OID_CO_DELETE_ADDRESS 0xFF000005 3177591157eSLinus Walleij #define RNDIS_OID_CO_GET_ADDRESSES 0xFF000006 3187591157eSLinus Walleij #define RNDIS_OID_CO_ADDRESS_CHANGE 0xFF000007 3197591157eSLinus Walleij #define RNDIS_OID_CO_SIGNALING_ENABLED 0xFF000008 3207591157eSLinus Walleij #define RNDIS_OID_CO_SIGNALING_DISABLED 0xFF000009 3217591157eSLinus Walleij 3227591157eSLinus Walleij /* 802.3 Objects (Ethernet) */ 3237591157eSLinus Walleij #define RNDIS_OID_802_3_PERMANENT_ADDRESS 0x01010101 3247591157eSLinus Walleij #define RNDIS_OID_802_3_CURRENT_ADDRESS 0x01010102 3257591157eSLinus Walleij #define RNDIS_OID_802_3_MULTICAST_LIST 0x01010103 3267591157eSLinus Walleij #define RNDIS_OID_802_3_MAXIMUM_LIST_SIZE 0x01010104 3277591157eSLinus Walleij #define RNDIS_OID_802_3_MAC_OPTIONS 0x01010105 3287591157eSLinus Walleij 329e20289edSLinus Walleij #define RNDIS_802_3_MAC_OPTION_PRIORITY 0x00000001 3307591157eSLinus Walleij 3317591157eSLinus Walleij #define RNDIS_OID_802_3_RCV_ERROR_ALIGNMENT 0x01020101 3327591157eSLinus Walleij #define RNDIS_OID_802_3_XMIT_ONE_COLLISION 0x01020102 3337591157eSLinus Walleij #define RNDIS_OID_802_3_XMIT_MORE_COLLISIONS 0x01020103 3347591157eSLinus Walleij 3357591157eSLinus Walleij #define RNDIS_OID_802_3_XMIT_DEFERRED 0x01020201 3367591157eSLinus Walleij #define RNDIS_OID_802_3_XMIT_MAX_COLLISIONS 0x01020202 3377591157eSLinus Walleij #define RNDIS_OID_802_3_RCV_OVERRUN 0x01020203 3387591157eSLinus Walleij #define RNDIS_OID_802_3_XMIT_UNDERRUN 0x01020204 3397591157eSLinus Walleij #define RNDIS_OID_802_3_XMIT_HEARTBEAT_FAILURE 0x01020205 3407591157eSLinus Walleij #define RNDIS_OID_802_3_XMIT_TIMES_CRS_LOST 0x01020206 3417591157eSLinus Walleij #define RNDIS_OID_802_3_XMIT_LATE_COLLISIONS 0x01020207 3427591157eSLinus Walleij 3434cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_BSSID 0x0d010101 3444cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_SSID 0x0d010102 3454cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_INFRASTRUCTURE_MODE 0x0d010108 3464cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_ADD_WEP 0x0d010113 3474cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_REMOVE_WEP 0x0d010114 3484cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_DISASSOCIATE 0x0d010115 3494cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_AUTHENTICATION_MODE 0x0d010118 3504cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_PRIVACY_FILTER 0x0d010119 3514cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_BSSID_LIST_SCAN 0x0d01011a 3524cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_ENCRYPTION_STATUS 0x0d01011b 3534cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_ADD_KEY 0x0d01011d 3544cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_REMOVE_KEY 0x0d01011e 3554cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_ASSOCIATION_INFORMATION 0x0d01011f 3564cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_CAPABILITY 0x0d010122 3574cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_PMKID 0x0d010123 3584cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_NETWORK_TYPES_SUPPORTED 0x0d010203 3594cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_NETWORK_TYPE_IN_USE 0x0d010204 3604cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_TX_POWER_LEVEL 0x0d010205 3614cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_RSSI 0x0d010206 3624cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_RSSI_TRIGGER 0x0d010207 3634cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_FRAGMENTATION_THRESHOLD 0x0d010209 3644cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_RTS_THRESHOLD 0x0d01020a 3654cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_SUPPORTED_RATES 0x0d01020e 3664cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_CONFIGURATION 0x0d010211 3674cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_POWER_MODE 0x0d010216 3684cc6c4d5SLinus Walleij #define RNDIS_OID_802_11_BSSID_LIST 0x0d010217 3694cc6c4d5SLinus Walleij 370c80174f3SLinus Walleij /* Plug and Play capabilities */ 371c80174f3SLinus Walleij #define RNDIS_OID_PNP_CAPABILITIES 0xFD010100 372c80174f3SLinus Walleij #define RNDIS_OID_PNP_SET_POWER 0xFD010101 373c80174f3SLinus Walleij #define RNDIS_OID_PNP_QUERY_POWER 0xFD010102 374c80174f3SLinus Walleij #define RNDIS_OID_PNP_ADD_WAKE_UP_PATTERN 0xFD010103 375c80174f3SLinus Walleij #define RNDIS_OID_PNP_REMOVE_WAKE_UP_PATTERN 0xFD010104 376c80174f3SLinus Walleij #define RNDIS_OID_PNP_ENABLE_WAKE_UP 0xFD010106 377c80174f3SLinus Walleij 378e20289edSLinus Walleij /* RNDIS_PNP_CAPABILITIES.Flags constants */ 379e20289edSLinus Walleij #define RNDIS_DEVICE_WAKE_UP_ENABLE 0x00000001 380e20289edSLinus Walleij #define RNDIS_DEVICE_WAKE_ON_PATTERN_MATCH_ENABLE 0x00000002 381e20289edSLinus Walleij #define RNDIS_DEVICE_WAKE_ON_MAGIC_PACKET_ENABLE 0x00000004 382e20289edSLinus Walleij 3837591157eSLinus Walleij #define REMOTE_CONDIS_MP_CREATE_VC_MSG 0x00008001 3847591157eSLinus Walleij #define REMOTE_CONDIS_MP_DELETE_VC_MSG 0x00008002 3857591157eSLinus Walleij #define REMOTE_CONDIS_MP_ACTIVATE_VC_MSG 0x00008005 3867591157eSLinus Walleij #define REMOTE_CONDIS_MP_DEACTIVATE_VC_MSG 0x00008006 3877591157eSLinus Walleij #define REMOTE_CONDIS_INDICATE_STATUS_MSG 0x00008007 3887591157eSLinus Walleij 3897591157eSLinus Walleij #define REMOTE_CONDIS_MP_CREATE_VC_CMPLT 0x80008001 3907591157eSLinus Walleij #define REMOTE_CONDIS_MP_DELETE_VC_CMPLT 0x80008002 3917591157eSLinus Walleij #define REMOTE_CONDIS_MP_ACTIVATE_VC_CMPLT 0x80008005 3927591157eSLinus Walleij #define REMOTE_CONDIS_MP_DEACTIVATE_VC_CMPLT 0x80008006 393