1 /* 2 * PROJECT: ReactOS Intel PRO/1000 Driver 3 * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+) 4 * PURPOSE: Translate NDIS_OID to readable string 5 * COPYRIGHT: Copyright 2018 Mark Jansen (mark.jansen@reactos.org) 6 */ 7 8 #include "nic.h" 9 10 #include <debug.h> 11 12 const char* Oid2Str(IN NDIS_OID Oid) 13 { 14 #if DBG 15 switch (Oid) 16 { 17 #define RETURN_X(x) case x: return #x; 18 /* Required Object IDs (OIDs) */ 19 RETURN_X(OID_GEN_SUPPORTED_LIST); 20 RETURN_X(OID_GEN_HARDWARE_STATUS); 21 RETURN_X(OID_GEN_MEDIA_SUPPORTED); 22 RETURN_X(OID_GEN_MEDIA_IN_USE); 23 RETURN_X(OID_GEN_MAXIMUM_LOOKAHEAD); 24 RETURN_X(OID_GEN_MAXIMUM_FRAME_SIZE); 25 RETURN_X(OID_GEN_LINK_SPEED); 26 RETURN_X(OID_GEN_TRANSMIT_BUFFER_SPACE); 27 RETURN_X(OID_GEN_RECEIVE_BUFFER_SPACE); 28 RETURN_X(OID_GEN_TRANSMIT_BLOCK_SIZE); 29 RETURN_X(OID_GEN_RECEIVE_BLOCK_SIZE); 30 RETURN_X(OID_GEN_VENDOR_ID); 31 RETURN_X(OID_GEN_VENDOR_DESCRIPTION); 32 RETURN_X(OID_GEN_CURRENT_PACKET_FILTER); 33 RETURN_X(OID_GEN_CURRENT_LOOKAHEAD); 34 RETURN_X(OID_GEN_DRIVER_VERSION); 35 RETURN_X(OID_GEN_MAXIMUM_TOTAL_SIZE); 36 RETURN_X(OID_GEN_PROTOCOL_OPTIONS); 37 RETURN_X(OID_GEN_MAC_OPTIONS); 38 RETURN_X(OID_GEN_MEDIA_CONNECT_STATUS); 39 RETURN_X(OID_GEN_MAXIMUM_SEND_PACKETS); 40 RETURN_X(OID_GEN_VENDOR_DRIVER_VERSION); 41 RETURN_X(OID_GEN_SUPPORTED_GUIDS); 42 RETURN_X(OID_GEN_NETWORK_LAYER_ADDRESSES); 43 RETURN_X(OID_GEN_TRANSPORT_HEADER_OFFSET); 44 RETURN_X(OID_GEN_MACHINE_NAME); 45 RETURN_X(OID_GEN_RNDIS_CONFIG_PARAMETER); 46 RETURN_X(OID_GEN_VLAN_ID); 47 48 /* Optional OIDs */ 49 RETURN_X(OID_GEN_MEDIA_CAPABILITIES); 50 RETURN_X(OID_GEN_PHYSICAL_MEDIUM); 51 52 /* Required statistics OIDs */ 53 RETURN_X(OID_GEN_XMIT_OK); 54 RETURN_X(OID_GEN_RCV_OK); 55 RETURN_X(OID_GEN_XMIT_ERROR); 56 RETURN_X(OID_GEN_RCV_ERROR); 57 RETURN_X(OID_GEN_RCV_NO_BUFFER); 58 59 /* Optional statistics OIDs */ 60 RETURN_X(OID_GEN_DIRECTED_BYTES_XMIT); 61 RETURN_X(OID_GEN_DIRECTED_FRAMES_XMIT); 62 RETURN_X(OID_GEN_MULTICAST_BYTES_XMIT); 63 RETURN_X(OID_GEN_MULTICAST_FRAMES_XMIT); 64 RETURN_X(OID_GEN_BROADCAST_BYTES_XMIT); 65 RETURN_X(OID_GEN_BROADCAST_FRAMES_XMIT); 66 RETURN_X(OID_GEN_DIRECTED_BYTES_RCV); 67 RETURN_X(OID_GEN_DIRECTED_FRAMES_RCV); 68 RETURN_X(OID_GEN_MULTICAST_BYTES_RCV); 69 RETURN_X(OID_GEN_MULTICAST_FRAMES_RCV); 70 RETURN_X(OID_GEN_BROADCAST_BYTES_RCV); 71 RETURN_X(OID_GEN_BROADCAST_FRAMES_RCV); 72 RETURN_X(OID_GEN_RCV_CRC_ERROR); 73 RETURN_X(OID_GEN_TRANSMIT_QUEUE_LENGTH); 74 RETURN_X(OID_GEN_GET_TIME_CAPS); 75 RETURN_X(OID_GEN_GET_NETCARD_TIME); 76 RETURN_X(OID_GEN_NETCARD_LOAD); 77 RETURN_X(OID_GEN_DEVICE_PROFILE); 78 RETURN_X(OID_GEN_INIT_TIME_MS); 79 RETURN_X(OID_GEN_RESET_COUNTS); 80 RETURN_X(OID_GEN_MEDIA_SENSE_COUNTS); 81 RETURN_X(OID_GEN_FRIENDLY_NAME); 82 RETURN_X(OID_GEN_MINIPORT_INFO); 83 RETURN_X(OID_GEN_RESET_VERIFY_PARAMETERS); 84 85 /* IEEE 802.3 (Ethernet) OIDs */ 86 //RETURN_X(NDIS_802_3_MAC_OPTION_PRIORITY); /*Duplicate ID */ 87 88 RETURN_X(OID_802_3_PERMANENT_ADDRESS); 89 RETURN_X(OID_802_3_CURRENT_ADDRESS); 90 RETURN_X(OID_802_3_MULTICAST_LIST); 91 RETURN_X(OID_802_3_MAXIMUM_LIST_SIZE); 92 RETURN_X(OID_802_3_MAC_OPTIONS); 93 RETURN_X(OID_802_3_RCV_ERROR_ALIGNMENT); 94 RETURN_X(OID_802_3_XMIT_ONE_COLLISION); 95 RETURN_X(OID_802_3_XMIT_MORE_COLLISIONS); 96 RETURN_X(OID_802_3_XMIT_DEFERRED); 97 RETURN_X(OID_802_3_XMIT_MAX_COLLISIONS); 98 RETURN_X(OID_802_3_RCV_OVERRUN); 99 RETURN_X(OID_802_3_XMIT_UNDERRUN); 100 RETURN_X(OID_802_3_XMIT_HEARTBEAT_FAILURE); 101 RETURN_X(OID_802_3_XMIT_TIMES_CRS_LOST); 102 RETURN_X(OID_802_3_XMIT_LATE_COLLISIONS); 103 104 /* IEEE 802.11 (WLAN) OIDs */ 105 RETURN_X(OID_802_11_BSSID); 106 RETURN_X(OID_802_11_SSID); 107 RETURN_X(OID_802_11_NETWORK_TYPES_SUPPORTED); 108 RETURN_X(OID_802_11_NETWORK_TYPE_IN_USE); 109 RETURN_X(OID_802_11_TX_POWER_LEVEL); 110 RETURN_X(OID_802_11_RSSI); 111 RETURN_X(OID_802_11_RSSI_TRIGGER); 112 RETURN_X(OID_802_11_INFRASTRUCTURE_MODE); 113 RETURN_X(OID_802_11_FRAGMENTATION_THRESHOLD); 114 RETURN_X(OID_802_11_RTS_THRESHOLD); 115 RETURN_X(OID_802_11_NUMBER_OF_ANTENNAS); 116 RETURN_X(OID_802_11_RX_ANTENNA_SELECTED); 117 RETURN_X(OID_802_11_TX_ANTENNA_SELECTED); 118 RETURN_X(OID_802_11_SUPPORTED_RATES); 119 RETURN_X(OID_802_11_DESIRED_RATES); 120 RETURN_X(OID_802_11_CONFIGURATION); 121 RETURN_X(OID_802_11_STATISTICS); 122 RETURN_X(OID_802_11_ADD_WEP); 123 RETURN_X(OID_802_11_REMOVE_WEP); 124 RETURN_X(OID_802_11_DISASSOCIATE); 125 RETURN_X(OID_802_11_POWER_MODE); 126 RETURN_X(OID_802_11_BSSID_LIST); 127 RETURN_X(OID_802_11_AUTHENTICATION_MODE); 128 RETURN_X(OID_802_11_PRIVACY_FILTER); 129 RETURN_X(OID_802_11_BSSID_LIST_SCAN); 130 RETURN_X(OID_802_11_WEP_STATUS); 131 RETURN_X(OID_802_11_RELOAD_DEFAULTS); 132 133 /* OID_GEN_MINIPORT_INFO constants */ 134 RETURN_X(NDIS_MINIPORT_BUS_MASTER); 135 RETURN_X(NDIS_MINIPORT_WDM_DRIVER); 136 RETURN_X(NDIS_MINIPORT_SG_LIST); 137 RETURN_X(NDIS_MINIPORT_SUPPORTS_MEDIA_QUERY); 138 RETURN_X(NDIS_MINIPORT_INDICATES_PACKETS); 139 RETURN_X(NDIS_MINIPORT_IGNORE_PACKET_QUEUE); 140 RETURN_X(NDIS_MINIPORT_IGNORE_REQUEST_QUEUE); 141 RETURN_X(NDIS_MINIPORT_IGNORE_TOKEN_RING_ERRORS); 142 RETURN_X(NDIS_MINIPORT_INTERMEDIATE_DRIVER); 143 RETURN_X(NDIS_MINIPORT_IS_NDIS_5); 144 RETURN_X(NDIS_MINIPORT_IS_CO); 145 RETURN_X(NDIS_MINIPORT_DESERIALIZE); 146 RETURN_X(NDIS_MINIPORT_REQUIRES_MEDIA_POLLING); 147 RETURN_X(NDIS_MINIPORT_SUPPORTS_MEDIA_SENSE); 148 RETURN_X(NDIS_MINIPORT_NETBOOT_CARD); 149 RETURN_X(NDIS_MINIPORT_PM_SUPPORTED); 150 RETURN_X(NDIS_MINIPORT_SUPPORTS_MAC_ADDRESS_OVERWRITE); 151 RETURN_X(NDIS_MINIPORT_USES_SAFE_BUFFER_APIS); 152 RETURN_X(NDIS_MINIPORT_HIDDEN); 153 RETURN_X(NDIS_MINIPORT_SWENUM); 154 RETURN_X(NDIS_MINIPORT_SURPRISE_REMOVE_OK); 155 RETURN_X(NDIS_MINIPORT_NO_HALT_ON_SUSPEND); 156 RETURN_X(NDIS_MINIPORT_HARDWARE_DEVICE); 157 RETURN_X(NDIS_MINIPORT_SUPPORTS_CANCEL_SEND_PACKETS); 158 RETURN_X(NDIS_MINIPORT_64BITS_DMA); 159 default: 160 return "<UNKNOWN>"; 161 } 162 #else 163 return "!DBG"; 164 #endif 165 } 166 167 168