diff --git a/drivers/network/tcpip/tcpip/info.c b/drivers/network/tcpip/tcpip/info.c index 6cc44d59850..b1f1c4d4227 100644 --- a/drivers/network/tcpip/tcpip/info.c +++ b/drivers/network/tcpip/tcpip/info.c @@ -180,6 +180,38 @@ TDI_STATUS InfoTdiQueryListEntities(PNDIS_BUFFER Buffer, return TDI_SUCCESS; } +TDI_STATUS +InfoTdiQueryGetATInfo( + TDIEntityID ID, + PIP_INTERFACE Interface, + PNDIS_BUFFER Buffer, + PUINT BufferSize) +{ + ULONG ATInfo[2]; + TDI_STATUS Status; + + TI_DbgPrint(DEBUG_INFO, ("Called.\n")); + + if (!Interface) + return TDI_INVALID_PARAMETER; + + if (*BufferSize < sizeof(ATInfo)) + return STATUS_BUFFER_TOO_SMALL; + + /* FIXME: I have no idea what the first field should contain... */ + ATInfo[0] = 0; + ATInfo[1] = Interface->Index; + + Status = InfoCopyOut((PCHAR)ATInfo, + sizeof(ATInfo), + Buffer, + BufferSize); + + TI_DbgPrint(DEBUG_INFO, ("Returning %08x\n", Status)); + + return Status; +} + TDI_STATUS InfoTdiQueryInformationEx( PTDI_REQUEST Request, TDIObjectID *ID, @@ -256,6 +288,11 @@ TDI_STATUS InfoTdiQueryInformationEx( return InfoTdiQueryGetIPSnmpInfo(ID->toi_entity, EntityListContext, Buffer, BufferSize); else return TDI_INVALID_PARAMETER; + else if (ID->toi_entity.tei_entity == AT_ENTITY) + if ((EntityListContext = GetContext(ID->toi_entity))) + return InfoTdiQueryGetATInfo(ID->toi_entity, EntityListContext, Buffer, BufferSize); + else + return TDI_INVALID_PARAMETER; else return TDI_INVALID_PARAMETER;