Lines Matching refs:a
227 #define IN6_ARE_ADDR_EQUAL(a, b) \ argument
228 (bcmp(&(a)->s6_addr[0], &(b)->s6_addr[0], sizeof(struct in6_addr)) == 0)
231 #define IN6_ARE_ADDR_EQUAL(a, b) \ argument
232 (memcmp(&(a)->s6_addr[0], &(b)->s6_addr[0], sizeof(struct in6_addr)) == 0)
239 #define IN6_IS_ADDR_UNSPECIFIED(a) \ argument
240 ((a)->__u6_addr.__u6_addr32[0] == 0 && \
241 (a)->__u6_addr.__u6_addr32[1] == 0 && \
242 (a)->__u6_addr.__u6_addr32[2] == 0 && \
243 (a)->__u6_addr.__u6_addr32[3] == 0)
248 #define IN6_IS_ADDR_LOOPBACK(a) \ argument
249 ((a)->__u6_addr.__u6_addr32[0] == 0 && \
250 (a)->__u6_addr.__u6_addr32[1] == 0 && \
251 (a)->__u6_addr.__u6_addr32[2] == 0 && \
252 (a)->__u6_addr.__u6_addr32[3] == ntohl(1))
257 #define IN6_IS_ADDR_V4COMPAT(a) \ argument
258 ((a)->__u6_addr.__u6_addr32[0] == 0 && \
259 (a)->__u6_addr.__u6_addr32[1] == 0 && \
260 (a)->__u6_addr.__u6_addr32[2] == 0 && \
261 (a)->__u6_addr.__u6_addr32[3] != 0 && \
262 (a)->__u6_addr.__u6_addr32[3] != ntohl(1))
267 #define IN6_IS_ADDR_V4MAPPED(a) \ argument
268 ((a)->__u6_addr.__u6_addr32[0] == 0 && \
269 (a)->__u6_addr.__u6_addr32[1] == 0 && \
270 (a)->__u6_addr.__u6_addr32[2] == ntohl(0x0000ffff))
296 #define IN6_IS_ADDR_LINKLOCAL(a) \ argument
297 (((a)->s6_addr[0] == 0xfe) && (((a)->s6_addr[1] & 0xc0) == 0x80))
298 #define IN6_IS_ADDR_SITELOCAL(a) \ argument
299 (((a)->s6_addr[0] == 0xfe) && (((a)->s6_addr[1] & 0xc0) == 0xc0))
304 #define IN6_IS_ADDR_MULTICAST(a) ((a)->s6_addr[0] == 0xff) argument
307 #define IPV6_ADDR_MC_SCOPE(a) ((a)->s6_addr[1] & 0x0f) argument
309 #define __IPV6_ADDR_MC_SCOPE(a) ((a)->s6_addr[1] & 0x0f) argument
316 #define IN6_IS_ADDR_MC_NODELOCAL(a) \ argument
317 (IN6_IS_ADDR_MULTICAST(a) && \
318 (IPV6_ADDR_MC_SCOPE(a) == IPV6_ADDR_SCOPE_NODELOCAL))
319 #define IN6_IS_ADDR_MC_INTFACELOCAL(a) \ argument
320 (IN6_IS_ADDR_MULTICAST(a) && \
321 (IPV6_ADDR_MC_SCOPE(a) == IPV6_ADDR_SCOPE_INTFACELOCAL))
322 #define IN6_IS_ADDR_MC_LINKLOCAL(a) \ argument
323 (IN6_IS_ADDR_MULTICAST(a) && \
324 (IPV6_ADDR_MC_SCOPE(a) == IPV6_ADDR_SCOPE_LINKLOCAL))
325 #define IN6_IS_ADDR_MC_SITELOCAL(a) \ argument
326 (IN6_IS_ADDR_MULTICAST(a) && \
327 (IPV6_ADDR_MC_SCOPE(a) == IPV6_ADDR_SCOPE_SITELOCAL))
328 #define IN6_IS_ADDR_MC_ORGLOCAL(a) \ argument
329 (IN6_IS_ADDR_MULTICAST(a) && \
330 (IPV6_ADDR_MC_SCOPE(a) == IPV6_ADDR_SCOPE_ORGLOCAL))
331 #define IN6_IS_ADDR_MC_GLOBAL(a) \ argument
332 (IN6_IS_ADDR_MULTICAST(a) && \
333 (IPV6_ADDR_MC_SCOPE(a) == IPV6_ADDR_SCOPE_GLOBAL))
335 #define IN6_IS_ADDR_MC_NODELOCAL(a) \ argument
336 (IN6_IS_ADDR_MULTICAST(a) && \
337 (__IPV6_ADDR_MC_SCOPE(a) == __IPV6_ADDR_SCOPE_NODELOCAL))
338 #define IN6_IS_ADDR_MC_LINKLOCAL(a) \ argument
339 (IN6_IS_ADDR_MULTICAST(a) && \
340 (__IPV6_ADDR_MC_SCOPE(a) == __IPV6_ADDR_SCOPE_LINKLOCAL))
341 #define IN6_IS_ADDR_MC_SITELOCAL(a) \ argument
342 (IN6_IS_ADDR_MULTICAST(a) && \
343 (__IPV6_ADDR_MC_SCOPE(a) == __IPV6_ADDR_SCOPE_SITELOCAL))
344 #define IN6_IS_ADDR_MC_ORGLOCAL(a) \ argument
345 (IN6_IS_ADDR_MULTICAST(a) && \
346 (__IPV6_ADDR_MC_SCOPE(a) == __IPV6_ADDR_SCOPE_ORGLOCAL))
347 #define IN6_IS_ADDR_MC_GLOBAL(a) \ argument
348 (IN6_IS_ADDR_MULTICAST(a) && \
349 (__IPV6_ADDR_MC_SCOPE(a) == __IPV6_ADDR_SCOPE_GLOBAL))
356 #define IN6_IS_SCOPE_LINKLOCAL(a) \ argument
357 ((IN6_IS_ADDR_LINKLOCAL(a)) || \
358 (IN6_IS_ADDR_MC_LINKLOCAL(a)))
359 #define IN6_IS_SCOPE_EMBED(a) \ argument
360 ((IN6_IS_ADDR_LINKLOCAL(a)) || \
361 (IN6_IS_ADDR_MC_LINKLOCAL(a)) || \
362 (IN6_IS_ADDR_MC_INTFACELOCAL(a)))
364 #define IFA6_IS_DEPRECATED(a) \ argument
365 ((a)->ia6_lifetime.ia6t_pltime != ND6_INFINITE_LIFETIME && \
366 (u_int32_t)((time_uptime - (a)->ia6_updatetime)) > \
367 (a)->ia6_lifetime.ia6t_pltime)
368 #define IFA6_IS_INVALID(a) \ argument
369 ((a)->ia6_lifetime.ia6t_vltime != ND6_INFINITE_LIFETIME && \
370 (u_int32_t)((time_uptime - (a)->ia6_updatetime)) > \
371 (a)->ia6_lifetime.ia6t_vltime)