fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering#pragma once
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering/***
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering This file is part of systemd.
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering Copyright 2013 Tom Gundersen <teg@jklm.no>
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering systemd is free software; you can redistribute it and/or modify it
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering under the terms of the GNU Lesser General Public License as published by
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering the Free Software Foundation; either version 2.1 of the License, or
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering (at your option) any later version.
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering systemd is distributed in the hope that it will be useful, but
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering WITHOUT ANY WARRANTY; without even the implied warranty of
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering Lesser General Public License for more details.
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering You should have received a copy of the GNU Lesser General Public License
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering along with systemd; If not, see <http://www.gnu.org/licenses/>.
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering***/
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering#include "macro.h"
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poetteringtypedef enum AddressFamilyBoolean {
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering /* This is a bitmask, though it usually doesn't feel that way! */
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering ADDRESS_FAMILY_NO = 0,
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering ADDRESS_FAMILY_IPV4 = 1,
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering ADDRESS_FAMILY_IPV6 = 2,
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering ADDRESS_FAMILY_YES = 3,
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering _ADDRESS_FAMILY_BOOLEAN_MAX,
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering _ADDRESS_FAMILY_BOOLEAN_INVALID = -1,
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering} AddressFamilyBoolean;
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poetteringint config_parse_address_family_boolean(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);
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poetteringint config_parse_address_family_boolean_with_kernel(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);
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poettering
fc2f9534d07db2b185c02b1961428b53daf1986eLennart Poetteringconst char *address_family_boolean_to_string(AddressFamilyBoolean b) _const_;
fc2f9534d07db2b185c02b1961428b53daf1986eLennart PoetteringAddressFamilyBoolean address_family_boolean_from_string(const char *s) _const_;