/*++ Copyright (c) 1990 Microsoft Corporation Module Name: info.c Abstract: This module handles the printing of the results of the Query and Set commands. Author: Tom Adams (tomad) 2-Dec-1991 Revision History: 2-Apr-1991 tomad created Sanjeev Katariya (sanjeevk) 4-12-1993 Added Arcnet support 4-15-1993 Added additional OIDS --*/ #include #include #include #include //#include #include #include #include #include "tpctl.h" #include "parse.h" #define CHAR_SP 0x20 #define INDENT 12 #define MAX_STR_LEN 80 /*++ VOID TpctlDumpNewLine( LPSTR Buffer ); --*/ #define TpctlDumpNewLine( Buffer ) { \ Buffer += (BYTE)sprintf( Buffer,"\n" ); \ } /*++ VOID TpctlDumpLabel( LPSTR Buffer, PBYTE Label ); --*/ #define TpctlDumpLabel( Buffer,Label ) { \ DWORD i; \ DWORD Length; \ BYTE _Str[MAX_STR_LEN]; \ \ for ( i=0;iSignature == REQUEST_RESULTS_SIGNATURE ); //ASSERT(( Results->NdisRequestType == NdisRequestQueryInformation ) || // ( Results->NdisRequestType == NdisRequestQueryStatistics )); //ASSERT( Results->OID == OID ); TmpBuf = GlobalBuf; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tCmdCode = %s\n\n", TpctlGetCmdCode( CmdCode )); TmpBuf += (BYTE)sprintf(TmpBuf,"\t OID = 0x%08lX\n",OID); TpctlDumpOID( &TmpBuf,OID ); TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tReturn Status = %s\n", TpctlGetStatus( Results->RequestStatus )); TmpBuf += (BYTE)sprintf(TmpBuf,"\tRequest Pended = %s", Results->RequestPended ? "TRUE" : "FALSE"); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); if (( Results->RequestStatus != NDIS_STATUS_SUCCESS ) && ( Results->RequestStatus != NDIS_STATUS_NOT_SUPPORTED )) { TmpBuf += (BYTE)sprintf(TmpBuf,"\tBytesWritten = %d\n", Results->BytesReadWritten); TmpBuf += (BYTE)sprintf(TmpBuf,"\tBytesNeeded = %d\n\n", Results->BytesNeeded); } else if ( Results->RequestStatus == NDIS_STATUS_SUCCESS ) { switch ( Results->OID ) { // // GENERAL OBJECTS // // // General Operational Characteristics // case OID_GEN_SUPPORTED_LIST: // 0x00010101 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tSupported OIDs are:\n\n"); Number = Results->BytesReadWritten / sizeof( DWORD ); Supported = (LPDWORD)Results->InformationBuffer; for ( i=0;iInformationBuffer); TpctlDumpHardWareStatus( &TmpBuf,*(LPDWORD)Results->InformationBuffer ); break; case OID_GEN_MEDIA_SUPPORTED: // 0x00010103 case OID_GEN_MEDIA_IN_USE: // 0x00010104 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tMedia Types Supported are:\n\n"); Number = Results->BytesReadWritten / sizeof( DWORD ); Supported = (LPDWORD)Results->InformationBuffer; for ( i=0;iInformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_MAXIMUM_FRAME_SIZE: // 0x00010106 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tMaximum Frame Size = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_LINK_SPEED: // 0x00010107 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tLink Speed (bps) = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_TRANSMIT_BUFFER_SPACE: // 0x00010108 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tTransmit Buffer Space = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_RECEIVE_BUFFER_SPACE: // 0x00010109 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tReceive Buffer Space = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_TRANSMIT_BLOCK_SIZE: // 0x0001010A TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tTransmit Block Size = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_RECEIVE_BLOCK_SIZE: // 0x0001010B TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tReceive Block Size = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_VENDOR_ID: // 0x0001010C TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tVendor ID = %u", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_VENDOR_DESCRIPTION: // 0x0001010D TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tVendor Description = %s", (PCHAR)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER"); break; case OID_GEN_DRIVER_VERSION: // 0x00010110 { LPBYTE Version = (LPBYTE)&Results->InformationBuffer; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tDriver Version Number = %d.%d\n", Version[1],Version[0]); break; } case OID_GEN_CURRENT_PACKET_FILTER: // 0x0001010E TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tCurrent Packet Filter = 0x%lx\n", *(LPDWORD)Results->InformationBuffer); TpctlDumpPacketFilter( &TmpBuf,*(LPDWORD)Results->InformationBuffer ); break; case OID_GEN_CURRENT_LOOKAHEAD: // 0x0001010F TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tCurrent Lookahead Size = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_MAXIMUM_TOTAL_SIZE: // 0x00010111 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tMaximum Total Size = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_PROTOCOL_OPTIONS: // 0x00010112 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tGeneral Protocol Options = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_MAC_OPTIONS: // 0x00010113 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tGeneral MAC Options = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; // // General Statitics - Mandatory // case OID_GEN_XMIT_OK: // 0x00020101 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tFrame Transmits - OK = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_RCV_OK: // 0x00020102 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tFrame Receives - OK = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_XMIT_ERROR: // 0x00020103 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tFrame Tranmsits With Error = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_RCV_ERROR: // 0x00020104 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tFrame Receives With Error = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_RCV_NO_BUFFER: // 0x00020105 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tFrames Missed, No Buffers = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; // // General Statitics - Optional // case OID_GEN_DIRECTED_BYTES_XMIT: // 0x00020201 Counters = (LPDWORD)&Results->InformationBuffer; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tDirected Bytes Transmitted - OK = 0x%08lX - 0x%08lX", Counters[1],Counters[0]); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_DIRECTED_FRAMES_XMIT: // 0x00020202 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tDirected Frames Transmitted - OK = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_MULTICAST_BYTES_XMIT: // 0x00020203 Counters = (LPDWORD)&Results->InformationBuffer; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tMulticast Bytes Transmitted - OK = 0x%08lX - 0x%08lX", Counters[1],Counters[0]); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_MULTICAST_FRAMES_XMIT: // 0x00020204 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tMulticast Frames Transmitted - OK = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_BROADCAST_BYTES_XMIT: // 0x00020205 Counters = (LPDWORD)&Results->InformationBuffer; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tBroadcast Bytes Transmitted - OK = 0x%08lX - 0x%08lX", Counters[1],Counters[0]); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_BROADCAST_FRAMES_XMIT: // 0x00020206 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tBroadcast Frames Transmitted - OK = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_DIRECTED_BYTES_RCV: // 0x00020207 Counters = (LPDWORD)&Results->InformationBuffer; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tDirected Bytes Received - OK = 0x%08lX - 0x%08lX", Counters[1],Counters[0]); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_DIRECTED_FRAMES_RCV: // 0x00020208 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tDirected Frames Received - OK = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_MULTICAST_BYTES_RCV: // 0x00020209 Counters = (LPDWORD)&Results->InformationBuffer; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tMulticast Bytes Received - OK = 0x%08lX - 0x%08lX", Counters[1],Counters[0]); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_MULTICAST_FRAMES_RCV: // 0x0002020A TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tMulticast Frames Received - OK = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_BROADCAST_BYTES_RCV: // 0x0002020B Counters = (LPDWORD)&Results->InformationBuffer; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tBroadcast Bytes Received - OK = 0x%08lX - 0x%08lX", Counters[1],Counters[0]); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_BROADCAST_FRAMES_RCV: // 0x0002020C TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tBroadcast Frames Received - OK = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_RCV_CRC_ERROR: // 0x0002020D TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tFrames Received With CRC/FCS Errors = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_GEN_TRANSMIT_QUEUE_LENGTH: // 0x0002020E TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tLength of Tramsit Queue = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; // // 802.3 OBJECTS // // // 802.3 Operation Characteristics // case OID_802_3_PERMANENT_ADDRESS: // 0x01010101 Address = (LPBYTE)&Results->InformationBuffer; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tPermanent Station Address = %02X-%02X-%02X-%02X-%02X-%02X", Address[0],Address[1],Address[2],Address[3],Address[4],Address[5]); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_802_3_CURRENT_ADDRESS: // 0x01010102 Address = (LPBYTE)&Results->InformationBuffer; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tCurrent Station Address = %02X-%02X-%02X-%02X-%02X-%02X\n", Address[0],Address[1],Address[2],Address[3],Address[4],Address[5]); break; case OID_802_3_MULTICAST_LIST: // 0x01010103 Number = Results->BytesReadWritten / ADDRESS_LENGTH; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tMulticast Address List:\n\n"); if ( Number == 0 ) { TmpBuf += (BYTE)sprintf(TmpBuf,"\t\tNone.\n"); } else { Address = (LPBYTE)&Results->InformationBuffer; for ( i=0;iInformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; // // 802.3 Statitics - Mandatory // case OID_802_3_RCV_ERROR_ALIGNMENT: // 0x01020101 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tFrames Received With Alignment Error = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_802_3_XMIT_ONE_COLLISION: // 0x01020102 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tFrames Transmitted With One Collision = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_802_3_XMIT_MORE_COLLISIONS: // 0x01020103 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tFrames Transmitted With Greater Than One Collision = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; // // 802.3 Statitics - Optional // case OID_802_3_XMIT_DEFERRED: // 0x01020201 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tFrames Transmitted After Deferral = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_802_3_XMIT_MAX_COLLISIONS: // 0x01020202 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tFrames Not Transmitted Due To Collisions = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_802_3_RCV_OVERRUN: // 0x01020203 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tFrames Not Received Due To Overrun = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_802_3_XMIT_UNDERRUN: // 0x01020204 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tFrames Not Transmitted Due To Underrun = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_802_3_XMIT_HEARTBEAT_FAILURE: // 0x01020205 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tFrames Transmitted With Heartbeat Failure = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_802_3_XMIT_TIMES_CRS_LOST: // 0x01020206 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tTimes CRC Lost During Transmit = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_802_3_XMIT_LATE_COLLISIONS: // 0x01020207 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tLate Collisions Detected = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; // // 802.5 OBJECTS // // // 802.5 Operation Characteristics // case OID_802_5_PERMANENT_ADDRESS: // 0x02010101 Address = (LPBYTE)&Results->InformationBuffer; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tPermanent Station Address = %02X-%02X-%02X-%02X-%02X-%02X", Address[0],Address[1],Address[2],Address[3],Address[4],Address[5]); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_802_5_CURRENT_ADDRESS: // 0x02010102 Address = (LPBYTE)&Results->InformationBuffer; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tCurrent Station Address = %02X-%02X-%02X-%02X-%02X-%02X\n", Address[0],Address[1],Address[2],Address[3],Address[4],Address[5]); break; case OID_802_5_CURRENT_FUNCTIONAL: // 0x02010103 Address = (LPBYTE)&Results->InformationBuffer; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tCurrent Functional Address = %02X-%02X-%02X-%02X\n", Address[0],Address[1],Address[2],Address[3]); break; case OID_802_5_CURRENT_GROUP: // 0x02010104 Address = (LPBYTE)&Results->InformationBuffer; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tCurrent Group Address = %02X-%02X-%02X-%02X\n", Address[0],Address[1],Address[2],Address[3]); break; case OID_802_5_LAST_OPEN_STATUS: // 0x02010105 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tLast Open Status = %d", *(LPWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_802_5_CURRENT_RING_STATUS: // 0x02010106 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tCurrent Ring Status = %d", *(LPWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_802_5_CURRENT_RING_STATE: // 0x02010107 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tCurrent Ring State = %d", *(LPWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; // // 802.5 Statitics - Mandatory // case OID_802_5_LINE_ERRORS: // 0x02020101 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tLine Errors Detected= %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_802_5_LOST_FRAMES: // 0x02020102 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tLost Frames = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; // // 802.5 Statitics - Optional // case OID_802_5_BURST_ERRORS: // 0x02020201 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tBurst Errors Detected = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_802_5_AC_ERRORS: // 0x02020202 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tA/C Errors = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_802_5_ABORT_DELIMETERS: // 0x02020203 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tAbort Delimeter Detected = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_802_5_FRAME_COPIED_ERRORS: // 0x02020204 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tFrame Copied Errors = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_802_5_FREQUENCY_ERRORS: // 0x02020205 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tFrequency Errors Detected = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_802_5_TOKEN_ERRORS: // 0x02020206 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tToken Errors = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_802_5_INTERNAL_ERRORS: // 0x02020207 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tInternal Errors = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; // // FDDI // case OID_FDDI_LONG_PERMANENT_ADDR : // 0x03010101 Address = (LPBYTE)&Results->InformationBuffer; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tLong Permanent Station Address = %02X-%02X-%02X-%02X-%02X-%02X", Address[0],Address[1],Address[2],Address[3],Address[4],Address[5]); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_FDDI_LONG_CURRENT_ADDR : // 0x03010102 Address = (LPBYTE)&Results->InformationBuffer; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tLong Current Station Address = %02X-%02X-%02X-%02X-%02X-%02X\n", Address[0],Address[1],Address[2],Address[3],Address[4],Address[5]); break; case OID_FDDI_LONG_MULTICAST_LIST : // 0x03010103 Number = Results->BytesReadWritten / ADDRESS_LENGTH; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tLong Multicast Address List:\n\n"); if ( Number == 0 ) { TmpBuf += (BYTE)sprintf(TmpBuf,"\t\tNone.\n"); } else { Address = (LPBYTE)&Results->InformationBuffer; for ( i=0;iInformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_FDDI_SHORT_PERMANENT_ADDR : // 0x03010105 Address = (LPBYTE)&Results->InformationBuffer; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tShort Permanent Station Address = %02X-%02X", Address[0],Address[1]); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_FDDI_SHORT_CURRENT_ADDR : // 0x03010106 Address = (LPBYTE)&Results->InformationBuffer; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tShort Current Station Address = %02X-%02X\n", Address[0],Address[1]); break; case OID_FDDI_SHORT_MULTICAST_LIST : // 0x03010107 Number = Results->BytesReadWritten / ADDRESS_LENGTH; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tShort Multicast Address List:\n\n"); if ( Number == 0 ) { TmpBuf += (BYTE)sprintf(TmpBuf,"\t\tNone.\n"); } else { Address = (LPBYTE)&Results->InformationBuffer; for ( i=0;iInformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_FDDI_ATTACHMENT_TYPE: // 0x03020101 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tAttachment Type = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_FDDI_UPSTREAM_NODE_LONG: // 0x03020102 Address = (LPBYTE)&Results->InformationBuffer; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tLong Upstream Node Address = %02X-%02X-%02X-%02X-%02X-%02X", Address[0],Address[1],Address[2],Address[3],Address[4],Address[5]); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_FDDI_DOWNSTREAM_NODE_LONG: // 0x03020103 Address = (LPBYTE)&Results->InformationBuffer; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tLong Downstream Node Address = %02X-%02X-%02X-%02X-%02X-%02X", Address[0],Address[1],Address[2],Address[3],Address[4],Address[5]); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_FDDI_FRAME_ERRORS: // 0x03020104 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tFrame Errors = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_FDDI_FRAMES_LOST: // 0x03020105 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tFrames Lost = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_FDDI_RING_MGT_STATE: // 0x03020106 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tRing Management State = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_FDDI_LCT_FAILURES: // 0x03020107 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tLCT Failures = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_FDDI_LEM_REJECTS: // 0x03020108 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tLEM Rejects = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_FDDI_LCONNECTION_STATE: // 0x03020109 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tL Connection State = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; // // STARTCHANGE ARCNET // case OID_ARCNET_PERMANENT_ADDRESS: // 0x06010101 Address = (LPBYTE)&Results->InformationBuffer; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tPermanent Station Address = %02X", Address[0]); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; case OID_ARCNET_CURRENT_ADDRESS: // 0x06010102 Address = (LPBYTE)&Results->InformationBuffer; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tCurrent Station Address = %02X\n", Address[0]); break; case OID_ARCNET_RECONFIGURATIONS: // 0x06010103 TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tReconfigurations = %d", *(LPDWORD)Results->InformationBuffer); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); break; // // STOPCHANGE ARCNET // default: TmpBuf +=(BYTE)sprintf(TmpBuf,"\tInvalid OID or OID not yet supported.\n"); break; } } if (( CommandsFromScript ) || ( CommandLineLogging )) { TmpBuf += (BYTE)sprintf(TmpBuf,"\n\t**********************************"); } TmpBuf += (BYTE)sprintf(TmpBuf,"\n"); if ( Verbose ) { if ( !WriteFile( GetStdHandle( STD_OUTPUT_HANDLE ), GlobalBuf, (TmpBuf-GlobalBuf), &BytesWritten, NULL )) { Status = GetLastError(); TpctlErrorLog("\n\tTpctl: WriteFile to screen failed, returned 0x%lx\n",(PVOID)Status); } } if ( CommandsFromScript ) { if ( !WriteFile( Scripts[ScriptIndex].LogHandle, GlobalBuf, (TmpBuf-GlobalBuf), &BytesWritten, NULL )) { Status = GetLastError(); TpctlErrorLog("\n\tTpctl: WriteFile to logfile failed, returned 0x%lx\n",(PVOID)Status); } } else if ( CommandLineLogging ) { if ( !WriteFile( CommandLineLogHandle, GlobalBuf, (TmpBuf-GlobalBuf), &BytesWritten, NULL )) { Status = GetLastError(); TpctlErrorLog("\n\tTpctl: WriteFile to logfile failed, returned 0x%lx\n",(PVOID)Status); } } } VOID TpctlPrintSetInfoResults( PREQUEST_RESULTS Results, DWORD CmdCode, NDIS_OID OID ) /*++ Routine Description: Arguments: Return Value: --*/ { DWORD Status; LPSTR TmpBuf; DWORD BytesWritten; BOOL ErrorReturned = FALSE; //ASSERT( Results->Signature == REQUEST_RESULTS_SIGNATURE ); //ASSERT( Results->NdisRequestType == NdisRequestSetInformation ); //ASSERT( Results->OID == OID ); TmpBuf = GlobalBuf; TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tCmdCode = %s\n\n", TpctlGetCmdCode( CmdCode )); TmpBuf += (BYTE)sprintf(TmpBuf,"\t OID = 0x%08lX\n",OID); TpctlDumpOID( &TmpBuf,OID ); TmpBuf += (BYTE)sprintf(TmpBuf,"\n\tReturn Status = %s\n", TpctlGetStatus( Results->RequestStatus )); if ( Results->RequestStatus != STATUS_SUCCESS ) { ErrorReturned = TRUE; } TmpBuf += (BYTE)sprintf(TmpBuf,"\tRequest Pended = %s", Results->RequestPended ? "TRUE" : "FALSE"); ADD_DIFF_FLAG( TmpBuf, "\tMAY_DIFFER" ); if ( Results->RequestStatus != NDIS_STATUS_SUCCESS ) { TmpBuf += (BYTE)sprintf(TmpBuf,"\tBytesRead = %d\n", Results->BytesReadWritten); TmpBuf += (BYTE)sprintf(TmpBuf,"\tBytesNeeded = %d\n", Results->BytesNeeded); } if (( CommandsFromScript ) || ( CommandLineLogging )) { TmpBuf += (BYTE)sprintf(TmpBuf,"\n\t**********************************"); } TmpBuf += (BYTE)sprintf(TmpBuf,"\n"); if ( Verbose ) { if ( !WriteFile( GetStdHandle( STD_OUTPUT_HANDLE ), GlobalBuf, (TmpBuf-GlobalBuf), &BytesWritten, NULL )) { Status = GetLastError(); TpctlErrorLog("\n\tTpctl: WriteFile to screen failed, returned 0x%lx\n",(PVOID)Status); } } if (( CommandsFromScript ) && ((( !Verbose ) && ( ErrorReturned )) || ( Verbose ))) { if( !WriteFile( Scripts[ScriptIndex].LogHandle, GlobalBuf, (TmpBuf-GlobalBuf), &BytesWritten, NULL )) { Status = GetLastError(); TpctlErrorLog("\n\tTpctl: WriteFile to logfile failed, returned 0x%lx\n",(PVOID)Status); } } else if ( CommandLineLogging ) { if( !WriteFile( CommandLineLogHandle, GlobalBuf, (TmpBuf-GlobalBuf), &BytesWritten, NULL )) { Status = GetLastError(); TpctlErrorLog("\n\tTpctl: WriteFile to logfile failed, returned 0x%lx\n",(PVOID)Status); } } }