Reactos
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
12const 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