lavva.exalushome
Version:
Library implementing communication and abstraction layers for ExalusHome system
78 lines (77 loc) • 2.13 kB
TypeScript
import { Status } from "./DataFrame";
export interface INetworkService {
GetServiceName(): string;
EnableDhcpAsync(): Promise<Status>;
SetStaticIpConfigurationAsync(configuration: INetworkIpv4StaticConfig): Promise<Status>;
GetIpConfigurationAsync(): Promise<INetworkData | null>;
RestoreDefaultConfigurationAsync(): Promise<Status>;
GetDnsServersAsync(): Promise<string[]>;
AddDnsServerAsync(address: string): Promise<Status>;
}
export interface INetworkIpv4StaticConfig {
get IpAddress(): string;
set IpAddress(value: string);
get SubnetMask(): string;
set SubnetMask(value: string);
get DefaultGateway(): string;
set DefaultGateway(value: string);
get Broadcast(): string;
set Broadcast(value: string);
}
export interface INetworkData {
get Id(): string;
get Name(): string;
get Ipv4Address(): string;
get Ipv4SubnetMask(): string;
get Ipv4DefaultGateway(): string;
get Ipv4PublicAddress(): string;
get MacAddress(): string;
get IsDhcpEnabled(): boolean;
get InterfaceType(): NetworkInterfaceType;
get OperationalStatus(): OperationalStatus;
get InterfaceSpeed(): number;
get Statistics(): INetworkStatistics;
}
export interface INetworkStatistics {
get BytesReceived(): number;
get BytesSent(): number;
}
export declare enum NetworkInterfaceType {
Unknown = 1,
Ethernet = 6,
TokenRing = 9,
Fddi = 15,
BasicIsdn = 20,
PrimaryIsdn = 21,
Ppp = 23,
Loopback = 24,
Ethernet3Megabit = 26,
Slip = 28,
Atm = 37,
GenericModem = 48,
FastEthernetT = 62,
Isdn = 63,
FastEthernetFx = 69,
Wireless80211 = 71,
AsymmetricDsl = 94,
RateAdaptDsl = 95,
SymmetricDsl = 96,
VeryHighSpeedDsl = 97,
IPOverAtm = 114,
GigabitEthernet = 117,
Tunnel = 131,
MultiRateSymmetricDsl = 143,
HighPerformanceSerialBus = 144,
Wman = 237,
Wwanpp = 243,
Wwanpp2 = 244
}
export declare enum OperationalStatus {
Up = 1,
Down = 2,
Testing = 3,
Unknown = 4,
Dormant = 5,
NotPresent = 6,
LowerLayerDown = 7
}