2020-11-09 05:23:58 +01:00
|
|
|
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
2014-08-11 22:44:51 +02:00
|
|
|
#pragma once
|
|
|
|
|
2013-11-05 01:35:26 +01:00
|
|
|
#include <stdbool.h>
|
2020-10-28 16:20:14 +01:00
|
|
|
#include <stdio.h>
|
2013-11-02 02:13:48 +01:00
|
|
|
|
2016-01-20 14:44:14 +01:00
|
|
|
#include "sd-dhcp-lease.h"
|
|
|
|
|
2018-12-14 16:25:01 +01:00
|
|
|
size_t serialize_in_addrs(FILE *f,
|
|
|
|
const struct in_addr *addresses,
|
|
|
|
size_t size,
|
2020-05-26 10:19:31 +02:00
|
|
|
bool *with_leading_space,
|
2018-12-14 16:25:01 +01:00
|
|
|
bool (*predicate)(const struct in_addr *addr));
|
2014-07-17 01:39:46 +02:00
|
|
|
int deserialize_in_addrs(struct in_addr **addresses, const char *string);
|
2015-07-06 11:50:47 +02:00
|
|
|
void serialize_in6_addrs(FILE *f, const struct in6_addr *addresses,
|
2020-05-26 10:19:31 +02:00
|
|
|
size_t size,
|
|
|
|
bool *with_leading_space);
|
2014-07-17 01:39:46 +02:00
|
|
|
int deserialize_in6_addrs(struct in6_addr **addresses, const char *string);
|
2014-06-28 00:00:06 +02:00
|
|
|
|
|
|
|
/* don't include "dhcp-lease-internal.h" as it causes conflicts between netinet/ip.h and linux/ip.h */
|
|
|
|
struct sd_dhcp_route;
|
2020-06-18 16:01:05 +02:00
|
|
|
struct sd_dhcp_lease;
|
2014-06-28 00:00:06 +02:00
|
|
|
|
2016-01-20 14:44:14 +01:00
|
|
|
void serialize_dhcp_routes(FILE *f, const char *key, sd_dhcp_route **routes, size_t size);
|
2014-06-28 00:00:06 +02:00
|
|
|
int deserialize_dhcp_routes(struct sd_dhcp_route **ret, size_t *ret_size, size_t *ret_allocated, const char *string);
|
2015-08-01 05:18:51 +02:00
|
|
|
|
2018-05-11 07:44:03 +02:00
|
|
|
/* It is not necessary to add deserialize_dhcp_option(). Use unhexmem() instead. */
|
2015-08-26 23:05:34 +02:00
|
|
|
int serialize_dhcp_option(FILE *f, const char *key, const void *data, size_t size);
|
2020-06-18 16:01:05 +02:00
|
|
|
|
|
|
|
int dhcp_lease_save(sd_dhcp_lease *lease, const char *lease_file);
|
|
|
|
int dhcp_lease_load(sd_dhcp_lease **ret, const char *lease_file);
|