1 /*
2 * Copyright 2017-2022 The OSHI Project Contributors
3 * SPDX-License-Identifier: MIT
4 */
5 package oshi.software.os;
6
7 import oshi.annotation.concurrent.ThreadSafe;
8
9 /**
10 * NetworkParams presents network parameters of running OS, such as DNS, host name etc.
11 */
12 @ThreadSafe
13 public interface NetworkParams {
14
15 /**
16 * Gets the HostName of the machine executing OSHI.
17 *
18 * @return the hostname
19 */
20 String getHostName();
21
22 /**
23 * Gets the Domain Name of the machine executing OSHI.
24 *
25 * @return the domain name
26 */
27 String getDomainName();
28
29 /**
30 * Gets the DNS Servers configured for this machine.
31 *
32 * @return the DNS servers
33 */
34 String[] getDnsServers();
35
36 /**
37 * Gets the default gateway(routing destination for 0.0.0.0/0) for IPv4 connections.
38 *
39 * @return default gateway for IPv4, or empty string if not defined.
40 */
41 String getIpv4DefaultGateway();
42
43 /**
44 * Gets default gateway(routing destination for ::/0) for IPv6 connections.
45 *
46 * @return default gateway for IPv6, or empty string if not defined.
47 */
48 String getIpv6DefaultGateway();
49 }