diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2021-11-04 19:18:32 +0900 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2021-11-09 21:39:05 +0900 |
commit | 76a5d3dee27124e017a5ebbb1fe461b13d9415c2 (patch) | |
tree | 9e23232794c2288fc832b8d0bacfe6b9beeabb4e /src/basic/ether-addr-util.h | |
parent | 777c17b9d1a035c0a0a9efb747409514204ccbd7 (diff) | |
download | systemd-76a5d3dee27124e017a5ebbb1fe461b13d9415c2.tar.gz |
ether-addr-util: introduce parse_hw_addr()
Diffstat (limited to 'src/basic/ether-addr-util.h')
-rw-r--r-- | src/basic/ether-addr-util.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/basic/ether-addr-util.h b/src/basic/ether-addr-util.h index c5cfdb4233..983f1bbe64 100644 --- a/src/basic/ether-addr-util.h +++ b/src/basic/ether-addr-util.h @@ -6,6 +6,7 @@ #include <stdbool.h> #include "hash-funcs.h" +#include "in-addr-util.h" #include "macro.h" #include "memory-util.h" @@ -18,10 +19,17 @@ struct hw_addr_data { union { struct ether_addr ether; uint8_t infiniband[INFINIBAND_ALEN]; + struct in_addr in; + struct in6_addr in6; uint8_t bytes[HW_ADDR_MAX_SIZE]; }; }; +int parse_hw_addr_full(const char *s, size_t expected_len, struct hw_addr_data *ret); +static inline int parse_hw_addr(const char *s, struct hw_addr_data *ret) { + return parse_hw_addr_full(s, 0, ret); +} + #define HW_ADDR_TO_STRING_MAX (3*HW_ADDR_MAX_SIZE) char* hw_addr_to_string(const struct hw_addr_data *addr, char buffer[HW_ADDR_TO_STRING_MAX]); |