networkd-network.h revision 4f2e437ad7b04bc0690d1f8202577cbf47acb215
4ba93280223ceb5de1bcedb196c38252f334521aLennart Poettering/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
4ba93280223ceb5de1bcedb196c38252f334521aLennart Poettering This file is part of systemd.
4ba93280223ceb5de1bcedb196c38252f334521aLennart Poettering Copyright 2013 Tom Gundersen <teg@jklm.no>
4ba93280223ceb5de1bcedb196c38252f334521aLennart Poettering systemd is free software; you can redistribute it and/or modify it
4ba93280223ceb5de1bcedb196c38252f334521aLennart Poettering under the terms of the GNU Lesser General Public License as published by
4ba93280223ceb5de1bcedb196c38252f334521aLennart Poettering the Free Software Foundation; either version 2.1 of the License, or
4ba93280223ceb5de1bcedb196c38252f334521aLennart Poettering (at your option) any later version.
4ba93280223ceb5de1bcedb196c38252f334521aLennart Poettering systemd is distributed in the hope that it will be useful, but
4ba93280223ceb5de1bcedb196c38252f334521aLennart Poettering WITHOUT ANY WARRANTY; without even the implied warranty of
4ba93280223ceb5de1bcedb196c38252f334521aLennart Poettering MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
4ba93280223ceb5de1bcedb196c38252f334521aLennart Poettering Lesser General Public License for more details.
4ba93280223ceb5de1bcedb196c38252f334521aLennart Poettering You should have received a copy of the GNU Lesser General Public License
4ba93280223ceb5de1bcedb196c38252f334521aLennart Poettering along with systemd; If not, see <http://www.gnu.org/licenses/>.
023fb90b83871a15ef7f57e8cd126e3426f99b9eLennart Poettering /* The values map to the kernel's /proc/sys/net/ipv6/conf/xxx/use_tempaddr values */
023fb90b83871a15ef7f57e8cd126e3426f99b9eLennart Poettering IPV6_PRIVACY_EXTENSIONS_YES, /* aka prefer-temporary */
04d39279245834494baccfdb9349db8bf80abd13Lennart Poettering /* DHCP Client Support */
04d39279245834494baccfdb9349db8bf80abd13Lennart Poettering DCHPClientIdentifier dhcp_client_identifier;
04d39279245834494baccfdb9349db8bf80abd13Lennart Poettering /* DHCP Server Support */
ae3dde801253b1d5f7363bb9fb06bcb230f00eb8Lennart Poettering usec_t dhcp_server_default_lease_time_usec, dhcp_server_max_lease_time_usec;
ae3dde801253b1d5f7363bb9fb06bcb230f00eb8Lennart Poettering /* IPV4LL Support */
ae3dde801253b1d5f7363bb9fb06bcb230f00eb8Lennart Poettering /* Bridge Support */
023fb90b83871a15ef7f57e8cd126e3426f99b9eLennart Poettering IPv6PrivacyExtensions ipv6_privacy_extensions;
023fb90b83871a15ef7f57e8cd126e3426f99b9eLennart Poettering char **domains, **dns, **ntp, **bind_carrier;
023fb90b83871a15ef7f57e8cd126e3426f99b9eLennart PoetteringDEFINE_TRIVIAL_CLEANUP_FUNC(Network*, network_free);
023fb90b83871a15ef7f57e8cd126e3426f99b9eLennart Poettering#define _cleanup_network_free_ _cleanup_(network_freep)
023fb90b83871a15ef7f57e8cd126e3426f99b9eLennart Poetteringint network_get_by_name(Manager *manager, const char *name, Network **ret);
023fb90b83871a15ef7f57e8cd126e3426f99b9eLennart Poetteringint network_get(Manager *manager, struct udev_device *device, const char *ifname, const struct ether_addr *mac, Network **ret);
4ba93280223ceb5de1bcedb196c38252f334521aLennart Poetteringint network_apply(Manager *manager, Network *network, Link *link);
023fb90b83871a15ef7f57e8cd126e3426f99b9eLennart Poetteringint config_parse_netdev(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
4ba93280223ceb5de1bcedb196c38252f334521aLennart Poetteringint config_parse_domains(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
023fb90b83871a15ef7f57e8cd126e3426f99b9eLennart Poetteringint config_parse_tunnel(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
023fb90b83871a15ef7f57e8cd126e3426f99b9eLennart Poetteringint config_parse_dhcp(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
4ba93280223ceb5de1bcedb196c38252f334521aLennart Poetteringint config_parse_dhcp_client_identifier(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
023fb90b83871a15ef7f57e8cd126e3426f99b9eLennart Poetteringint config_parse_ipv6token(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
023fb90b83871a15ef7f57e8cd126e3426f99b9eLennart Poetteringint config_parse_ipv6_privacy_extensions(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
023fb90b83871a15ef7f57e8cd126e3426f99b9eLennart Poetteringint config_parse_hostname(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
023fb90b83871a15ef7f57e8cd126e3426f99b9eLennart Poetteringint config_parse_timezone(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
023fb90b83871a15ef7f57e8cd126e3426f99b9eLennart Poetteringint config_parse_dhcp_server_dns(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
4ba93280223ceb5de1bcedb196c38252f334521aLennart Poetteringint config_parse_dhcp_server_ntp(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
023fb90b83871a15ef7f57e8cd126e3426f99b9eLennart Poettering/* Legacy IPv4LL support */
56f64d95763a799ba4475daf44d8e9f72a1bd474Michal Schmidtint config_parse_ipv4ll(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
023fb90b83871a15ef7f57e8cd126e3426f99b9eLennart Poetteringconst struct ConfigPerfItem* network_network_gperf_lookup(const char *key, unsigned length);
023fb90b83871a15ef7f57e8cd126e3426f99b9eLennart Poetteringextern const sd_bus_vtable network_vtable[];
023fb90b83871a15ef7f57e8cd126e3426f99b9eLennart Poetteringint network_node_enumerator(sd_bus *bus, const char *path, void *userdata, char ***nodes, sd_bus_error *error);
023fb90b83871a15ef7f57e8cd126e3426f99b9eLennart Poetteringint network_object_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *error);
4ba93280223ceb5de1bcedb196c38252f334521aLennart Poetteringconst char* ipv6_privacy_extensions_to_string(IPv6PrivacyExtensions i) _const_;