1 /* SPDX-License-Identifier: LGPL-2.1+ */
4 #include "sd-network.h"
8 bool network_is_online(void);
10 typedef enum LinkOperationalState
{
11 LINK_OPERSTATE_MISSING
,
13 LINK_OPERSTATE_NO_CARRIER
,
14 LINK_OPERSTATE_DORMANT
,
15 LINK_OPERSTATE_DEGRADED_CARRIER
,
16 LINK_OPERSTATE_CARRIER
,
17 LINK_OPERSTATE_DEGRADED
,
18 LINK_OPERSTATE_ENSLAVED
,
19 LINK_OPERSTATE_ROUTABLE
,
21 _LINK_OPERSTATE_INVALID
= -1
22 } LinkOperationalState
;
24 typedef enum LinkCarrierState
{
25 LINK_CARRIER_STATE_OFF
= LINK_OPERSTATE_OFF
,
26 LINK_CARRIER_STATE_NO_CARRIER
= LINK_OPERSTATE_NO_CARRIER
,
27 LINK_CARRIER_STATE_DORMANT
= LINK_OPERSTATE_DORMANT
,
28 LINK_CARRIER_STATE_DEGRADED_CARRIER
= LINK_OPERSTATE_DEGRADED_CARRIER
,
29 LINK_CARRIER_STATE_CARRIER
= LINK_OPERSTATE_CARRIER
,
30 LINK_CARRIER_STATE_ENSLAVED
= LINK_OPERSTATE_ENSLAVED
,
31 _LINK_CARRIER_STATE_MAX
,
32 _LINK_CARRIER_STATE_INVALID
= -1
35 typedef enum LinkAddressState
{
36 LINK_ADDRESS_STATE_OFF
,
37 LINK_ADDRESS_STATE_DEGRADED
,
38 LINK_ADDRESS_STATE_ROUTABLE
,
39 _LINK_ADDRESS_STATE_MAX
,
40 _LINK_ADDRESS_STATE_INVALID
= -1
43 const char* link_operstate_to_string(LinkOperationalState s
) _const_
;
44 LinkOperationalState
link_operstate_from_string(const char *s
) _pure_
;
46 const char* link_carrier_state_to_string(LinkCarrierState s
) _const_
;
47 LinkCarrierState
link_carrier_state_from_string(const char *s
) _pure_
;
49 const char* link_address_state_to_string(LinkAddressState s
) _const_
;
50 LinkAddressState
link_address_state_from_string(const char *s
) _pure_
;
52 typedef struct LinkOperationalStateRange
{
53 LinkOperationalState min
;
54 LinkOperationalState max
;
55 } LinkOperationalStateRange
;
57 #define LINK_OPERSTATE_RANGE_DEFAULT (LinkOperationalStateRange) { LINK_OPERSTATE_DEGRADED, \
58 LINK_OPERSTATE_ROUTABLE }
60 int parse_operational_state_range(const char *str
, LinkOperationalStateRange
*out
);