]>
Commit | Line | Data |
---|---|---|
e4eebc6e MT |
1 | /*############################################################################# |
2 | # # | |
3 | # IPFire.org - A linux based firewall # | |
4 | # Copyright (C) 2023 IPFire Network Development Team # | |
5 | # # | |
6 | # This program is free software: you can redistribute it and/or modify # | |
7 | # it under the terms of the GNU General Public License as published by # | |
8 | # the Free Software Foundation, either version 3 of the License, or # | |
9 | # (at your option) any later version. # | |
10 | # # | |
11 | # This program is distributed in the hope that it will be useful, # | |
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of # | |
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # | |
14 | # GNU General Public License for more details. # | |
15 | # # | |
16 | # You should have received a copy of the GNU General Public License # | |
17 | # along with this program. If not, see <http://www.gnu.org/licenses/>. # | |
18 | # # | |
19 | #############################################################################*/ | |
20 | ||
21 | #ifndef NETWORKD_ZONE_H | |
22 | #define NETWORKD_ZONE_H | |
23 | ||
7af642e1 MT |
24 | #define ZONE_CONFIG_DIR CONFIG_DIR "/zones" |
25 | ||
e4eebc6e | 26 | #define NETWORK_ZONE_NAME_MAX_LENGTH 16 |
9368a163 | 27 | #define NETWORK_ZONE_DEFAULT_MTU 1500 |
e4eebc6e | 28 | |
2361667e | 29 | typedef struct nw_zone nw_zone; |
e4eebc6e | 30 | |
15240e08 MT |
31 | #include <linux/if_link.h> |
32 | ||
dd84704e MT |
33 | #include "daemon.h" |
34 | ||
35 | int nw_zone_create(nw_zone** zone, nw_daemon* daemon, const char* name); | |
e4eebc6e | 36 | |
2361667e MT |
37 | nw_zone* nw_zone_ref(nw_zone* zone); |
38 | nw_zone* nw_zone_unref(nw_zone* zone); | |
e4eebc6e | 39 | |
605e975f MT |
40 | int nw_zone_save(nw_zone* zone); |
41 | ||
2361667e | 42 | const char* nw_zone_name(nw_zone* zone); |
e4eebc6e | 43 | |
2361667e | 44 | char* nw_zone_bus_path(nw_zone* zone); |
ebc65f19 | 45 | |
611d4aca MT |
46 | int __nw_zone_set_link(nw_daemon* daemon, nw_zone* zone, void* data); |
47 | int __nw_zone_drop_link(nw_daemon* daemon, nw_zone* zone, void* data); | |
48 | ||
b9769b09 MT |
49 | int nw_zone_reconfigure(nw_zone* zone); |
50 | ||
20375a08 MT |
51 | int nw_zone_has_carrier(nw_zone* zone); |
52 | ||
9368a163 MT |
53 | /* |
54 | MTU | |
55 | */ | |
2361667e MT |
56 | unsigned int nw_zone_mtu(nw_zone* zone); |
57 | int nw_zone_set_mtu(nw_zone* zone, unsigned int mtu); | |
9368a163 | 58 | |
15240e08 MT |
59 | const struct rtnl_link_stats64* nw_zone_get_stats64(nw_zone* zone); |
60 | int __nw_zone_update_stats(nw_daemon* daemon, nw_zone* zone, void* data); | |
61 | int nw_zone_update_stats(nw_zone* zone); | |
62 | ||
e4eebc6e | 63 | #endif /* NETWORKD_ZONE_H */ |