networkd-address.c revision c081882f07617e56bcbce54105068137e4e0bb52
5e6afdd3d359fc42de7ac432243e98673577e81fLennart Poettering/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
5430f7f2bc7330f3088b894166bf3524a067e3d8Lennart Poettering This file is part of systemd.
5e6afdd3d359fc42de7ac432243e98673577e81fLennart Poettering Copyright 2013 Tom Gundersen <teg@jklm.no>
5e6afdd3d359fc42de7ac432243e98673577e81fLennart Poettering systemd is free software; you can redistribute it and/or modify it
5e6afdd3d359fc42de7ac432243e98673577e81fLennart Poettering under the terms of the GNU Lesser General Public License as published by
49dbfa7b2b0bf3906704dac1eaeb4eba91056a19Lennart Poettering the Free Software Foundation; either version 2.1 of the License, or
b401e1fb9df7ea8b0fd26e16d886056a5ae7c5d9Lennart Poettering (at your option) any later version.
0e0320e04500d1e68630b3973714f14cfb7b3450Lennart Poettering systemd is distributed in the hope that it will be useful, but
2528a7a62c4ad9b2f4773b608d208239299da50cLennart Poettering WITHOUT ANY WARRANTY; without even the implied warranty of
58f2fab16da947052756b7f9ace40f6ee7fa1519Zbigniew Jędrzejewski-Szmek MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
58f2fab16da947052756b7f9ace40f6ee7fa1519Zbigniew Jędrzejewski-Szmek Lesser General Public License for more details.
3d88bf660dae270c051c8319bba62c58a50c9d2bLennart Poettering You should have received a copy of the GNU Lesser General Public License
3d88bf660dae270c051c8319bba62c58a50c9d2bLennart Poettering along with systemd; If not, see <http://www.gnu.org/licenses/>.
#include "networkd.h"
#include "utf8.h"
#include "util.h"
#include "conf-parser.h"
#include "network-internal.h"
if (section) {
if (address) {
if (!address)
return -ENOMEM;
if (section) {
if (!address)
return -ENOMEM;
if (!address)
strerror(-r));
strerror(-r));
strerror(-r));
strerror(-r));
strerror(-r));
strerror(-r));
strerror(-r));
return -EBUSY;
return -ENOMEM;
strerror(-r));
strerror(-r));
strerror(-r));
strerror(-r));
strerror(-r));
strerror(-r));
const char *filename,
unsigned line,
const char *section,
unsigned section_line,
const char *lvalue,
int ltype,
const char *rvalue,
void *data,
void *userdata) {
r = address_new_dynamic(&n);
n = NULL;
const char *filename,
unsigned line,
const char *section,
unsigned section_line,
const char *lvalue,
int ltype,
const char *rvalue,
void *data,
void *userdata) {
n = NULL;
const char *filename,
unsigned line,
const char *section,
unsigned section_line,
const char *lvalue,
int ltype,
const char *rvalue,
void *data,
void *userdata) {
section_line = 0;
n->prefixlen = (unsigned char) i;
if (!address)
return log_oom();
if (!address)
return log_oom();
n = NULL;
const char *filename,
unsigned line,
const char *section,
unsigned section_line,
const char *lvalue,
int ltype,
const char *rvalue,
void *data,
void *userdata) {
char *label;
if (!label)
return log_oom();
if (*label)
n = NULL;
case AF_UNSPEC:
case AF_INET:
case AF_INET6: