/* SPDX-License-Identifier: LGPL-2.1-or-later */
-#include "ether-addr-util.h"
#include "fd-util.h"
#include "fileio.h"
#include "hostname-util.h"
DEFINE_TRIVIAL_CLEANUP_FUNC(Link*, link_free);
-static int link_new(Context *context, const char *name, struct ether_addr *mac, Link **ret) {
+static int link_new(
+ Context *context,
+ const char *name,
+ const struct hw_addr_data *mac,
+ Link **ret) {
+
_cleanup_(link_freep) Link *link = NULL;
_cleanup_free_ char *ifname = NULL;
int r;
}
static int parse_cmdline_ifname(Context *context, const char *key, const char *value) {
- struct ether_addr mac;
+ struct hw_addr_data mac;
const char *name, *p;
int r;
name = strndupa_safe(value, p - value);
- r = parse_ether_addr(p + 1, &mac);
+ r = parse_hw_addr(p + 1, &mac);
if (r < 0)
return r;
fputs("[Match]\n", f);
- if (!ether_addr_is_null(&link->mac))
- fprintf(f, "MACAddress=%s\n", ETHER_ADDR_TO_STR(&link->mac));
+ if (!hw_addr_is_null(&link->mac))
+ fprintf(f, "MACAddress=%s\n", HW_ADDR_TO_STR(&link->mac));
fprintf(f,
"\n[Link]\n"
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
-#include <net/ethernet.h>
#include <stdio.h>
+#include "ether-addr-util.h"
#include "hashmap.h"
#include "in-addr-util.h"
#include "list.h"
struct Link {
/* [Match] */
+ struct hw_addr_data mac;
+
+ /* [Link] */
char *ifname;
- struct ether_addr mac;
};
typedef struct Context {