mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
206 lines
7.4 KiB
206 lines
7.4 KiB
/*++
|
|
|
|
Copyright (c) 1990 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
oid.c
|
|
|
|
Abstract:
|
|
|
|
|
|
Author:
|
|
|
|
Tom Adams (tomad) 29-Nov-1991
|
|
|
|
Environment:
|
|
|
|
Kernel mode, FSD
|
|
|
|
Revision History:
|
|
|
|
Sanjeev Katariya (sanjeevk)
|
|
|
|
4-6-1993 Added native ARCNET Support
|
|
4-14-1993 Added additional OIDS
|
|
|
|
--*/
|
|
|
|
//#include <ntos.h>
|
|
|
|
#include <ndis.h>
|
|
|
|
#include "tpdefs.h"
|
|
|
|
|
|
extern OID_INFO OidArray[] = {
|
|
|
|
{ OID_GEN_SUPPORTED_LIST, 1024, TRUE, FALSE, TRUE },
|
|
{ OID_GEN_HARDWARE_STATUS, 4, TRUE, FALSE, TRUE },
|
|
{ OID_GEN_MEDIA_SUPPORTED, 4*8, TRUE, FALSE, TRUE },
|
|
{ OID_GEN_MEDIA_IN_USE, 4*8, TRUE, FALSE, TRUE },
|
|
{ OID_GEN_MAXIMUM_LOOKAHEAD, 4, TRUE, FALSE, TRUE },
|
|
{ OID_GEN_MAXIMUM_FRAME_SIZE, 4, TRUE, FALSE, TRUE },
|
|
{ OID_GEN_LINK_SPEED, 4, TRUE, FALSE, TRUE },
|
|
{ OID_GEN_TRANSMIT_BUFFER_SPACE, 4, TRUE, FALSE, TRUE },
|
|
{ OID_GEN_RECEIVE_BUFFER_SPACE, 4, TRUE, FALSE, TRUE },
|
|
{ OID_GEN_TRANSMIT_BLOCK_SIZE, 4, TRUE, FALSE, TRUE },
|
|
{ OID_GEN_RECEIVE_BLOCK_SIZE, 4, TRUE, FALSE, TRUE },
|
|
{ OID_GEN_VENDOR_ID, 4, TRUE, FALSE, TRUE },
|
|
{ OID_GEN_VENDOR_DESCRIPTION, 64, TRUE, FALSE, TRUE },
|
|
{ OID_GEN_CURRENT_PACKET_FILTER, 4, TRUE, TRUE, TRUE },
|
|
{ OID_GEN_CURRENT_LOOKAHEAD, 4, TRUE, TRUE, TRUE },
|
|
{ OID_GEN_DRIVER_VERSION, 2, TRUE, FALSE, TRUE },
|
|
{ OID_GEN_MAXIMUM_TOTAL_SIZE, 4, TRUE, FALSE, TRUE },
|
|
{ OID_GEN_PROTOCOL_OPTIONS, 4, TRUE, TRUE, TRUE },
|
|
{ OID_GEN_MAC_OPTIONS, 4, TRUE, TRUE, TRUE },
|
|
|
|
|
|
{ OID_GEN_XMIT_OK, 4, FALSE, FALSE, TRUE },
|
|
{ OID_GEN_RCV_OK, 4, FALSE, FALSE, TRUE },
|
|
{ OID_GEN_XMIT_ERROR, 4, FALSE, FALSE, TRUE },
|
|
{ OID_GEN_RCV_ERROR, 4, FALSE, FALSE, TRUE },
|
|
{ OID_GEN_RCV_NO_BUFFER, 4, FALSE, FALSE, TRUE },
|
|
|
|
{ OID_GEN_DIRECTED_BYTES_XMIT, 8, FALSE, FALSE, TRUE },
|
|
{ OID_GEN_DIRECTED_FRAMES_XMIT, 4, FALSE, FALSE, TRUE },
|
|
{ OID_GEN_MULTICAST_BYTES_XMIT, 8, FALSE, FALSE, TRUE },
|
|
{ OID_GEN_MULTICAST_FRAMES_XMIT, 4, FALSE, FALSE, TRUE },
|
|
{ OID_GEN_BROADCAST_BYTES_XMIT, 8, FALSE, FALSE, TRUE },
|
|
{ OID_GEN_BROADCAST_FRAMES_XMIT, 4, FALSE, FALSE, TRUE },
|
|
{ OID_GEN_DIRECTED_BYTES_RCV, 8, FALSE, FALSE, TRUE },
|
|
{ OID_GEN_DIRECTED_FRAMES_RCV, 4, FALSE, FALSE, TRUE },
|
|
{ OID_GEN_MULTICAST_BYTES_RCV, 8, FALSE, FALSE, TRUE },
|
|
{ OID_GEN_MULTICAST_FRAMES_RCV, 4, FALSE, FALSE, TRUE },
|
|
{ OID_GEN_BROADCAST_BYTES_RCV, 8, FALSE, FALSE, TRUE },
|
|
{ OID_GEN_BROADCAST_FRAMES_RCV, 4, FALSE, FALSE, TRUE },
|
|
{ OID_GEN_RCV_CRC_ERROR, 4, FALSE, FALSE, TRUE },
|
|
{ OID_GEN_TRANSMIT_QUEUE_LENGTH, 4, FALSE, FALSE, TRUE },
|
|
|
|
{ OID_802_3_PERMANENT_ADDRESS, 6, TRUE, FALSE, TRUE },
|
|
{ OID_802_3_CURRENT_ADDRESS, 6, TRUE, FALSE, TRUE },
|
|
{ OID_802_3_MULTICAST_LIST, 6, TRUE, TRUE, TRUE },
|
|
{ OID_802_3_MAXIMUM_LIST_SIZE, 4, TRUE, FALSE, TRUE },
|
|
|
|
{ OID_802_3_RCV_ERROR_ALIGNMENT, 4, FALSE, FALSE, TRUE },
|
|
{ OID_802_3_XMIT_ONE_COLLISION, 4, FALSE, FALSE, TRUE },
|
|
{ OID_802_3_XMIT_MORE_COLLISIONS, 4, FALSE, FALSE, TRUE },
|
|
|
|
{ OID_802_3_XMIT_DEFERRED, 4, FALSE, FALSE, TRUE },
|
|
{ OID_802_3_XMIT_MAX_COLLISIONS, 4, FALSE, FALSE, TRUE },
|
|
{ OID_802_3_RCV_OVERRUN, 4, FALSE, FALSE, TRUE },
|
|
{ OID_802_3_XMIT_UNDERRUN, 4, TRUE, FALSE, TRUE },
|
|
{ OID_802_3_XMIT_HEARTBEAT_FAILURE, 4, TRUE, FALSE, TRUE },
|
|
{ OID_802_3_XMIT_TIMES_CRS_LOST, 4, TRUE, FALSE, TRUE },
|
|
{ OID_802_3_XMIT_LATE_COLLISIONS, 4, TRUE, FALSE, TRUE },
|
|
|
|
{ OID_802_5_PERMANENT_ADDRESS, 6, TRUE, FALSE, TRUE },
|
|
{ OID_802_5_CURRENT_ADDRESS, 6, TRUE, FALSE, TRUE },
|
|
{ OID_802_5_CURRENT_FUNCTIONAL, 4, TRUE, TRUE, TRUE },
|
|
{ OID_802_5_CURRENT_GROUP, 4, TRUE, TRUE, TRUE },
|
|
{ OID_802_5_LAST_OPEN_STATUS, 4, TRUE, TRUE, TRUE },
|
|
{ OID_802_5_CURRENT_RING_STATUS, 4, TRUE, TRUE, TRUE },
|
|
{ OID_802_5_CURRENT_RING_STATE, 4, TRUE, TRUE, TRUE },
|
|
|
|
{ OID_802_5_LINE_ERRORS, 4, FALSE, FALSE, TRUE },
|
|
{ OID_802_5_LOST_FRAMES, 4, TRUE, FALSE, TRUE },
|
|
|
|
{ OID_802_5_BURST_ERRORS, 4, TRUE, FALSE, TRUE },
|
|
{ OID_802_5_AC_ERRORS, 4, TRUE, FALSE, TRUE },
|
|
{ OID_802_5_ABORT_DELIMETERS, 4, TRUE, FALSE, TRUE },
|
|
{ OID_802_5_FRAME_COPIED_ERRORS, 4, TRUE, FALSE, TRUE },
|
|
{ OID_802_5_FREQUENCY_ERRORS, 4, TRUE, FALSE, TRUE },
|
|
{ OID_802_5_TOKEN_ERRORS, 4, TRUE, FALSE, TRUE },
|
|
{ OID_802_5_INTERNAL_ERRORS, 4, TRUE, FALSE, TRUE },
|
|
|
|
{ OID_FDDI_LONG_PERMANENT_ADDR, 6, TRUE, FALSE, TRUE },
|
|
{ OID_FDDI_LONG_CURRENT_ADDR, 6, TRUE, FALSE, TRUE },
|
|
{ OID_FDDI_LONG_MULTICAST_LIST, 6, TRUE, TRUE, TRUE },
|
|
{ OID_FDDI_LONG_MAX_LIST_SIZE, 4, TRUE, TRUE, TRUE },
|
|
{ OID_FDDI_SHORT_PERMANENT_ADDR, 2, TRUE, FALSE, TRUE },
|
|
{ OID_FDDI_SHORT_CURRENT_ADDR, 2, TRUE, FALSE, TRUE },
|
|
{ OID_FDDI_SHORT_MULTICAST_LIST, 6, TRUE, TRUE, TRUE },
|
|
{ OID_FDDI_SHORT_MAX_LIST_SIZE, 4, TRUE, TRUE, TRUE },
|
|
|
|
{ OID_FDDI_ATTACHMENT_TYPE, 4, TRUE, FALSE, TRUE },
|
|
{ OID_FDDI_UPSTREAM_NODE_LONG, 6, TRUE, FALSE, TRUE },
|
|
{ OID_FDDI_DOWNSTREAM_NODE_LONG, 6, TRUE, FALSE, TRUE },
|
|
{ OID_FDDI_FRAME_ERRORS, 4, TRUE, FALSE, TRUE },
|
|
{ OID_FDDI_FRAMES_LOST, 4, TRUE, FALSE, TRUE },
|
|
{ OID_FDDI_RING_MGT_STATE, 4, TRUE, FALSE, TRUE },
|
|
{ OID_FDDI_LCT_FAILURES, 4, TRUE, FALSE, TRUE },
|
|
{ OID_FDDI_LEM_REJECTS, 4, TRUE, FALSE, TRUE },
|
|
{ OID_FDDI_LCONNECTION_STATE, 4, TRUE, FALSE, TRUE },
|
|
|
|
//
|
|
// STARTCHANGE
|
|
//
|
|
{ OID_ARCNET_PERMANENT_ADDRESS, 1, TRUE, FALSE, TRUE },
|
|
{ OID_ARCNET_CURRENT_ADDRESS, 1, TRUE, FALSE, TRUE },
|
|
{ OID_ARCNET_RECONFIGURATIONS, 4, FALSE, FALSE, TRUE },
|
|
//
|
|
// STOPCHANGE
|
|
//
|
|
|
|
//
|
|
// Async Objects
|
|
//
|
|
|
|
/* Not currently supported.
|
|
|
|
//
|
|
// XXX: the following must be verified for size and the set/query
|
|
// booleans. also are the correct OIDs defined?
|
|
//
|
|
|
|
{ OID_ASYNC_PERMANENT_ADDRESS 4, TRUE, FALSE, TRUE },
|
|
{ OID_ASYNC_CURRENT_ADDRESS 4, TRUE, FALSE, TRUE },
|
|
{ OID_ASYNC_QUALITY_OF_SERVICE 4, TRUE, FALSE, TRUE },
|
|
{ OID_ASYNC_PROTOCOL_TYPE 4, TRUE, FALSE, TRUE }
|
|
|
|
{ OID_LTALK_CURRENT_NODE_ID 4, TRUE, FALSE, TRUE },
|
|
|
|
{ OID_LTALK_IN_BROADCASTS 4, TRUE, FALSE, TRUE },
|
|
{ OID_LTALK_IN_LENGTH_ERRORS 4, TRUE, FALSE, TRUE },
|
|
|
|
{ OID_LTALK_OUT_NO_HANDLERS 4, TRUE, FALSE, TRUE },
|
|
{ OID_LTALK_COLLISIONS 4, TRUE, FALSE, TRUE },
|
|
{ OID_LTALK_DEFERS 4, TRUE, FALSE, TRUE },
|
|
{ OID_LTALK_NO_DATA_ERRORS 4, TRUE, FALSE, TRUE },
|
|
{ OID_LTALK_RANDOM_CTS_ERRORS 4, TRUE, FALSE, TRUE },
|
|
{ OID_LTALK_FCS_ERRORS 4, TRUE, FALSE, TRUE }
|
|
*/
|
|
|
|
};
|
|
|
|
|
|
|
|
ULONG
|
|
TpLookUpOidInfo(
|
|
IN NDIS_OID RequestOid
|
|
)
|
|
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
Arguments:
|
|
|
|
The arguments for the test to be run.
|
|
|
|
Return Value:
|
|
|
|
|
|
--*/
|
|
|
|
{
|
|
ULONG i;
|
|
|
|
for (i=0;i<NUM_OIDS;i++) {
|
|
if ( OidArray[i].Oid == RequestOid) {
|
|
return i;
|
|
}
|
|
}
|
|
|
|
return 0xFFFFFFFF;
|
|
}
|