36 lines
1.5 KiB
C#
36 lines
1.5 KiB
C#
using skyscraper5.Skyscraper.IO;
|
|
|
|
namespace skyscraper8.Ieee802_1AB.Model;
|
|
|
|
public class LldpCapabilities
|
|
{
|
|
private readonly ushort capabilities;
|
|
private readonly ushort enabledCapabilities;
|
|
|
|
public LldpCapabilities(byte[] buffer)
|
|
{
|
|
MemoryStream ms = new MemoryStream(buffer);
|
|
this.capabilities = ms.ReadUInt16BE();
|
|
this.enabledCapabilities = ms.ReadUInt16BE();
|
|
}
|
|
|
|
public bool HasOther => (capabilities & 0x0001) != 0;
|
|
public bool HasRepeater => (capabilities & 0x0002) != 0;
|
|
public bool HasBridge => (capabilities & 0x0004) != 0;
|
|
public bool HasWlanAccessPoint => (capabilities & 0x0008) != 0;
|
|
public bool HasRouter => (capabilities & 0x0010) != 0;
|
|
public bool HasTelephone => (capabilities & 0x0020) != 0;
|
|
public bool HasDocsis => (capabilities & 0x0040) != 0;
|
|
public bool IsStation => (capabilities & 0x0080) != 0;
|
|
public bool HasCVLan => (capabilities & 0x0100) != 0;
|
|
public bool HasSVLan => (capabilities & 0x0200) != 0;
|
|
public bool HasTpmr => (capabilities & 0x0400) != 0;
|
|
|
|
public bool EnabledOther => (enabledCapabilities & 0x0001) != 0;
|
|
public bool EnabledRepeater => (enabledCapabilities & 0x0002) != 0;
|
|
public bool EnabledBridge => (enabledCapabilities & 0x0004) != 0;
|
|
public bool EnabledWlanAccessPoint => (enabledCapabilities & 0x0008) != 0;
|
|
public bool EnabledRouter => (enabledCapabilities & 0x0010) != 0;
|
|
public bool EnabledTelephone => (enabledCapabilities & 0x0020) != 0;
|
|
public bool EnabledDocsis => (enabledCapabilities & 0x0040) != 0;
|
|
} |