#define ALL_IPV6_ROUTERS {{{0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02}}}
+#define IN6_IS_ADDR_ULA(a) (((a)->s6_addr32[0] & htonl(0xfe000000)) == htonl(0xfc000000))
struct interface;
struct nl_sock;
struct uloop_fd uloop;
void (*handle_dgram)(void *addr, void *data, size_t len,
struct interface *iface, void *dest_addr);
- void (*handle_error)(int error);
- void (*recv_msgs)(struct odhcpd_event *ev);
+ void (*handle_error)(struct odhcpd_event *e, int error);
+ void (*recv_msgs)(struct odhcpd_event *e);
};
bool legacy;
char *dhcp_cb;
char *dhcp_statefile;
+ int log_level;
} config;
int managed;
int route_preference;
int ra_maxinterval;
+ int ra_lifetime;
// DHCPv4
struct in_addr dhcpv4_start;
// Exported main functions
int odhcpd_register(struct odhcpd_event *event);
+int odhcpd_deregister(struct odhcpd_event *event);
void odhcpd_process(struct odhcpd_event *event);
struct nl_sock *odhcpd_create_nl_socket(int protocol);