Allows for easier maintainance.
#include <string.h>
#include <unistd.h>
-#define ELOOP_QUEUE 5
+#define ELOOP_QUEUE ELOOP_ARP
#include "config.h"
#include "arp.h"
#include "bpf.h"
#include <stdint.h>
#include <stdio.h>
+/* Define eloop queues here, as other apps share eloop.h */
+#define ELOOP_DHCPCD 1 /* default queue */
+#define ELOOP_DHCP 2
+#define ELOOP_ARP 3
+#define ELOOP_IPV4LL 4
+#define ELOOP_IPV6 5
+#define ELOOP_IPV6ND 6
+#define ELOOP_IPV6RA_EXPIRE 7
+#define ELOOP_DHCP6 8
+
#ifndef HOSTNAME_MAX_LEN
#define HOSTNAME_MAX_LEN 250 /* 255 - 3 (FQDN) - 2 (DNS enc) */
#endif
#include <string.h>
#include <unistd.h>
-#define ELOOP_QUEUE 2
+#define ELOOP_QUEUE ELOOP_DHCP
#include "config.h"
#include "arp.h"
#include "bpf.h"
#include <unistd.h>
#include <fcntl.h>
-#define ELOOP_QUEUE 4
+#define ELOOP_QUEUE ELOOP_DHCP6
#include "config.h"
#include "common.h"
#include "dhcp.h"
script_runreason(ifp, "STOPPED");
/* Delete all timeouts for the interfaces */
- eloop_q_timeout_delete(ctx->eloop, 0, NULL, ifp);
+ eloop_q_timeout_delete(ctx->eloop, ELOOP_QUEUE_ALL, NULL, ifp);
/* De-activate the interface */
ifp->active = IF_INACTIVE;
#define ELOOP_QUEUE 1
#endif
+/* Used for deleting a timeout for all queues. */
+#define ELOOP_QUEUE_ALL 0
+
/* Forward declare eloop - the content should be invisible to the outside */
struct eloop;
#include <string.h>
#include <unistd.h>
-#define ELOOP_QUEUE 6
+#define ELOOP_QUEUE IPV4LL
#include "config.h"
#include "arp.h"
#include "common.h"
#include <string.h>
#include <unistd.h>
-#define ELOOP_QUEUE 7
+#define ELOOP_QUEUE ELOOP_IPV6
#include "common.h"
#include "if.h"
#include "dhcpcd.h"
if (ia->flags & IPV6_AF_ADDED)
ipv6_deleteaddr(ia);
eloop_q_timeout_delete(ia->iface->ctx->eloop,
- 0, NULL, ia);
+ ELOOP_QUEUE_ALL, NULL, ia);
if (ia->flags & IPV6_AF_REQUEST) {
ia->flags &= ~IPV6_AF_ADDED;
return 0;
void
ipv6_freeaddr(struct ipv6_addr *ia)
{
+ struct eloop *eloop = ia->iface->ctx->eloop;
#ifndef SMALL
struct ipv6_addr *iad;
if (ia->dhcp6_fd != -1) {
close(ia->dhcp6_fd);
- eloop_event_delete(ia->iface->ctx->eloop, ia->dhcp6_fd);
+ eloop_event_delete(eloop, ia->dhcp6_fd);
}
- eloop_q_timeout_delete(ia->iface->ctx->eloop, 0, NULL, ia);
+ eloop_q_timeout_delete(eloop, ELOOP_QUEUE_ALL, NULL, ia);
free(ia->na);
free(ia);
}
#include <string.h>
#include <unistd.h>
-#define ELOOP_QUEUE 3
+#define ELOOP_QUEUE ELOOP_IPV6ND
#include "common.h"
#include "dhcpcd.h"
#include "dhcp-common.h"