2
2
* dhcpcd - DHCP client daemon
3
* Copyright (c) 2006-2011 Roy Marples <roy@marples.name>
3
* Copyright (c) 2006-2013 Roy Marples <roy@marples.name>
4
4
* All rights reserved
6
6
* Redistribution and use in source and binary forms, with or without
31
int ipv6rs_open(void);
32
void ipv6rs_handledata(void *);
31
#include <sys/queue.h>
39
TAILQ_ENTRY(ra_opt) next;
41
struct timeval expire;
47
struct interface *iface;
49
char sfrom[INET6_ADDRSTRLEN];
52
struct timeval received;
58
struct ipv6_addrhead addrs;
59
TAILQ_HEAD(, ra_opt) options;
68
extern TAILQ_HEAD(rahead, ra) ipv6_routers;
76
#define RS_STATE(a) ((struct rs_state *)(ifp)->if_data[IF_DATA_IPV6RS])
33
79
int ipv6rs_start(struct interface *);
34
80
ssize_t ipv6rs_env(char **, const char *, const struct interface *);
35
void ipv6rs_free(struct interface *ifp);
81
const struct ipv6_addr * ipv6rs_findprefix(const struct ipv6_addr *);
82
int ipv6rs_addrexists(const struct ipv6_addr *);
83
void ipv6rs_freedrop_ra(struct ra *, int);
84
#define ipv6rs_free_ra(ra) ipv6rs_freedrop_ra((ra), 0)
85
#define ipv6rs_drop_ra(ra) ipv6rs_freedrop_ra((ra), 1)
86
ssize_t ipv6rs_free(struct interface *);
36
87
void ipv6rs_expire(void *arg);
88
int ipv6rs_has_ra(const struct interface *);
89
void ipv6rs_handleifa(int, const char *, const struct in6_addr *, int);
90
void ipv6rs_drop(struct interface *);
92
#define ipv6rs_start(a) {}
93
#define ipv6rs_free(a)
94
#define ipv6rs_has_ra(a) 0
95
#define ipv6rs_drop(a)