]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
ether-addr-util: introduce hw_addr_set() helper function
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 2 Aug 2022 06:04:50 +0000 (15:04 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 5 Aug 2022 19:53:36 +0000 (04:53 +0900)
src/basic/ether-addr-util.c
src/basic/ether-addr-util.h

index c609ea6ce017a52e662df5169c87dc42315cc76c..0a6a54f8f139dded22de9ac299e9d81320a24e3d 100644 (file)
@@ -33,6 +33,15 @@ char *hw_addr_to_string_full(
         return buffer;
 }
 
+struct hw_addr_data *hw_addr_set(struct hw_addr_data *addr, const uint8_t *bytes, size_t length) {
+        assert(addr);
+        assert(length <= HW_ADDR_MAX_SIZE);
+
+        addr->length = length;
+        memcpy_safe(addr->bytes, bytes, length);
+        return addr;
+}
+
 int hw_addr_compare(const struct hw_addr_data *a, const struct hw_addr_data *b) {
         int r;
 
index 32f45fe8135ea6236c4b678d19ca8cb4f2161801..83ed77d634513d189c30ac84542013833298fd6d 100644 (file)
@@ -52,6 +52,8 @@ static inline char *hw_addr_to_string(const struct hw_addr_data *addr, char buff
 
 #define HW_ADDR_NULL ((const struct hw_addr_data){})
 
+struct hw_addr_data *hw_addr_set(struct hw_addr_data *addr, const uint8_t *bytes, size_t length);
+
 void hw_addr_hash_func(const struct hw_addr_data *p, struct siphash *state);
 int hw_addr_compare(const struct hw_addr_data *a, const struct hw_addr_data *b);
 static inline bool hw_addr_equal(const struct hw_addr_data *a, const struct hw_addr_data *b) {