]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/libsystemd-network/sd-ipv4acd.c
tree-wide: expose "p"-suffix unref calls in public APIs to make gcc cleanup easy
[thirdparty/systemd.git] / src / libsystemd-network / sd-ipv4acd.c
index ee5d13c0301f40eb5c0ee69c59bbb2513fd4ec0a..f7880a891c78bc4f91afb7b18a2c6625e5e1be84 100644 (file)
 #include <stdlib.h>
 #include <string.h>
 
-#include "event-util.h"
+#include "sd-ipv4acd.h"
+
+#include "alloc-util.h"
+#include "arp-util.h"
+#include "fd-util.h"
 #include "in-addr-util.h"
 #include "list.h"
-#include "refcnt.h"
 #include "random-util.h"
+#include "refcnt.h"
 #include "siphash24.h"
 #include "util.h"
 
-#include "arp-util.h"
-#include "sd-ipv4acd.h"
-
 /* Constants from the RFC */
 #define PROBE_WAIT 1
 #define PROBE_NUM 3
@@ -118,11 +119,8 @@ sd_ipv4acd *sd_ipv4acd_unref(sd_ipv4acd *ll) {
         return NULL;
 }
 
-DEFINE_TRIVIAL_CLEANUP_FUNC(sd_ipv4acd*, sd_ipv4acd_unref);
-#define _cleanup_ipv4acd_unref_ _cleanup_(sd_ipv4acd_unrefp)
-
 int sd_ipv4acd_new(sd_ipv4acd **ret) {
-        _cleanup_ipv4acd_unref_ sd_ipv4acd *ll = NULL;
+        _cleanup_(sd_ipv4acd_unrefp) sd_ipv4acd *ll = NULL;
 
         assert_return(ret, -EINVAL);
 
@@ -179,7 +177,7 @@ int sd_ipv4acd_stop(sd_ipv4acd *ll) {
 
         ipv4acd_stop(ll);
 
-        ipv4acd_client_notify(ll, IPV4ACD_EVENT_STOP);
+        ipv4acd_client_notify(ll, SD_IPV4ACD_EVENT_STOP);
 
         return 0;
 }
@@ -187,7 +185,7 @@ int sd_ipv4acd_stop(sd_ipv4acd *ll) {
 static int ipv4acd_on_timeout(sd_event_source *s, uint64_t usec, void *userdata);
 
 static int ipv4acd_set_next_wakeup(sd_ipv4acd *ll, int sec, int random_sec) {
-        _cleanup_event_source_unref_ sd_event_source *timer = NULL;
+        _cleanup_(sd_event_source_unrefp) sd_event_source *timer = NULL;
         usec_t next_timeout;
         usec_t time_now;
         int r;
@@ -315,7 +313,7 @@ static int ipv4acd_on_timeout(sd_event_source *s, uint64_t usec, void *userdata)
 
                 if (ll->iteration == 0) {
                         ll->conflict = 0;
-                        ipv4acd_client_notify(ll, IPV4ACD_EVENT_BIND);
+                        ipv4acd_client_notify(ll, SD_IPV4ACD_EVENT_BIND);
                 }
 
                 break;
@@ -345,7 +343,7 @@ static void ipv4acd_on_conflict(sd_ipv4acd *ll) {
 
         ipv4acd_stop(ll);
 
-        ipv4acd_client_notify(ll, IPV4ACD_EVENT_CONFLICT);
+        ipv4acd_client_notify(ll, SD_IPV4ACD_EVENT_CONFLICT);
 }
 
 static int ipv4acd_on_packet(sd_event_source *s, int fd,
@@ -468,7 +466,7 @@ int sd_ipv4acd_set_address(sd_ipv4acd *ll, const struct in_addr *address){
         return 0;
 }
 
-bool sd_ipv4acd_is_running(sd_ipv4acd *ll) {
+int sd_ipv4acd_is_running(sd_ipv4acd *ll) {
         assert_return(ll, false);
 
         return ll->state != IPV4ACD_STATE_INIT;