link-config.h revision 847a8a5fed4d265dfa659917515c6f9bd1b8d5c4
d7c7c334f56edab8cfc102b657366277a65738cfLennart Poettering/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
d7c7c334f56edab8cfc102b657366277a65738cfLennart Poettering This file is part of systemd.
d7c7c334f56edab8cfc102b657366277a65738cfLennart Poettering Copyright (C) 2013 Tom Gundersen <teg@jklm.no>
d7c7c334f56edab8cfc102b657366277a65738cfLennart Poettering systemd is free software; you can redistribute it and/or modify it
d7c7c334f56edab8cfc102b657366277a65738cfLennart Poettering under the terms of the GNU Lesser General Public License as published by
d7c7c334f56edab8cfc102b657366277a65738cfLennart Poettering the Free Software Foundation; either version 2.1 of the License, or
d7c7c334f56edab8cfc102b657366277a65738cfLennart Poettering (at your option) any later version.
d7c7c334f56edab8cfc102b657366277a65738cfLennart Poettering systemd is distributed in the hope that it will be useful, but
d7c7c334f56edab8cfc102b657366277a65738cfLennart Poettering WITHOUT ANY WARRANTY; without even the implied warranty of
d7c7c334f56edab8cfc102b657366277a65738cfLennart Poettering MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
d7c7c334f56edab8cfc102b657366277a65738cfLennart Poettering Lesser General Public License for more details.
d7c7c334f56edab8cfc102b657366277a65738cfLennart Poettering You should have received a copy of the GNU Lesser General Public License
d7c7c334f56edab8cfc102b657366277a65738cfLennart Poettering along with systemd; If not, see <http://www.gnu.org/licenses/>.
d7c7c334f56edab8cfc102b657366277a65738cfLennart Poetteringtypedef struct link_config_ctx link_config_ctx;
d7c7c334f56edab8cfc102b657366277a65738cfLennart Poetteringint link_config_ctx_new(link_config_ctx **ret);
e9bc1871b974fa9e33d9c1a45e249e6d1c8bc562Lennart Poetteringvoid link_config_ctx_free(link_config_ctx *ctx);
d7c7c334f56edab8cfc102b657366277a65738cfLennart Poetteringint link_config_load(link_config_ctx *ctx);
d7c7c334f56edab8cfc102b657366277a65738cfLennart Poetteringbool link_config_should_reload(link_config_ctx *ctx);
d7c7c334f56edab8cfc102b657366277a65738cfLennart Poetteringint link_config_get(link_config_ctx *ctx, struct udev_device *device, struct link_config **ret);
d7c7c334f56edab8cfc102b657366277a65738cfLennart Poetteringint link_config_apply(link_config_ctx *ctx, struct link_config *config, struct udev_device *device, const char **name);
5bcd08db289cd02aad8a89b37b2a46244a7bd473Lennart Poetteringint link_get_driver(link_config_ctx *ctx, struct udev_device *device, char **ret);
d7c7c334f56edab8cfc102b657366277a65738cfLennart Poetteringconst char *name_policy_to_string(NamePolicy p) _const_;
d7c7c334f56edab8cfc102b657366277a65738cfLennart PoetteringNamePolicy name_policy_from_string(const char *p) _pure_;
d7c7c334f56edab8cfc102b657366277a65738cfLennart Poetteringconst char *mac_policy_to_string(MACPolicy p) _const_;
d7c7c334f56edab8cfc102b657366277a65738cfLennart PoetteringMACPolicy mac_policy_from_string(const char *p) _pure_;
5bcd08db289cd02aad8a89b37b2a46244a7bd473Lennart Poettering/* gperf lookup function */
d7c7c334f56edab8cfc102b657366277a65738cfLennart Poetteringconst struct ConfigPerfItem* link_config_gperf_lookup(const char *key, unsigned length);
d7c7c334f56edab8cfc102b657366277a65738cfLennart Poetteringint config_parse_mac_policy(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);
e9bc1871b974fa9e33d9c1a45e249e6d1c8bc562Lennart Poetteringint config_parse_name_policy(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);