about summary refs log tree commit diff
path: root/src/libnm-base/nm-base.c
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2023-03-09 20:01:53 +0100
committerMichael Biebl <biebl@debian.org>2023-03-09 20:01:53 +0100
commitcffb548b401e2cd3fad166aa92e0f634bbb1d4d6 (patch)
tree6d803d8f7d0d92a1c5e5705974fff8975472af95 /src/libnm-base/nm-base.c
parent647d6b95d5475e0a1bf3d6f299d1cb8c9041a7a4 (diff)
parent12e1ee797bbf0b10d1fd5afd4b947484769f2b9f (diff)
Merge tag 'debian/1.42.4-1' into debian/bullseye-backports
network-manager Debian release 1.42.4-1
Diffstat (limited to 'src/libnm-base/nm-base.c')
-rw-r--r--src/libnm-base/nm-base.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/libnm-base/nm-base.c b/src/libnm-base/nm-base.c
index f81b285c..fa64372f 100644
--- a/src/libnm-base/nm-base.c
+++ b/src/libnm-base/nm-base.c
@@ -9,3 +9,33 @@
 NM_CACHED_QUARK_FCN("nm-crypto-error-quark", _nm_crypto_error_quark);
 
 /*****************************************************************************/
+
+char *
+nm_dhcp_iaid_to_hexstr(guint32 iaid, char buf[static NM_DHCP_IAID_TO_HEXSTR_BUF_LEN])
+{
+    iaid = htobe32(iaid);
+    return nm_utils_bin2hexstr_full(&iaid, sizeof(iaid), ':', FALSE, buf);
+}
+
+gboolean
+nm_dhcp_iaid_from_hexstr(const char *str, guint32 *out_value)
+{
+    union {
+        guint32 num;
+        guint8  bin[sizeof(guint32)];
+    } iaid;
+
+    if (!nm_utils_hexstr2bin_full(str,
+                                  TRUE,
+                                  FALSE,
+                                  FALSE,
+                                  ":",
+                                  sizeof(iaid),
+                                  iaid.bin,
+                                  sizeof(iaid),
+                                  NULL))
+        return FALSE;
+
+    NM_SET_OUT(out_value, be32toh(iaid.num));
+    return TRUE;
+}