[stat_cache] FAM: ignore event with no valid match
[lighttpd.git] / src / sock_addr.h
blobe949e7ef90643fb6dcd8d133921454f1ef803b31
1 #ifndef INCLUDED_SOCK_ADDR_H
2 #define INCLUDED_SOCK_ADDR_H
3 #include "first.h"
5 #include <sys/types.h>
6 #include "sys-socket.h"
8 #include "base_decls.h"
9 #include "buffer.h"
12 union sock_addr {
13 #ifdef HAVE_IPV6
14 struct sockaddr_in6 ipv6;
15 #endif
16 struct sockaddr_in ipv4;
17 #ifdef HAVE_SYS_UN_H
18 struct sockaddr_un un;
19 #endif
20 struct sockaddr plain;
24 static inline int sock_addr_get_family (const sock_addr *saddr);
25 static inline int sock_addr_get_family (const sock_addr *saddr) {
26 return saddr->plain.sa_family;
29 unsigned short sock_addr_get_port (const sock_addr *saddr);
30 int sock_addr_is_addr_wildcard (const sock_addr *saddr);
31 int sock_addr_is_family_eq (const sock_addr *saddr1, const sock_addr *saddr2);
32 int sock_addr_is_port_eq (const sock_addr *saddr1, const sock_addr *saddr2);
33 int sock_addr_is_addr_eq (const sock_addr *saddr1, const sock_addr *saddr2);
34 /*int sock_addr_is_addr_port_eq (const sock_addr *saddr1, const sock_addr *saddr2);*/
35 int sock_addr_is_addr_eq_bits(const sock_addr *a, const sock_addr *b, int bits);
36 int sock_addr_assign (sock_addr *saddr, int family, unsigned short nport, const void *naddr);
38 int sock_addr_inet_pton(sock_addr *saddr, const char *str, int family, unsigned short port);
40 const char * sock_addr_inet_ntop(const sock_addr *saddr, char *buf, socklen_t sz);
41 int sock_addr_inet_ntop_copy_buffer(buffer *b, const sock_addr *saddr);
42 int sock_addr_inet_ntop_append_buffer(buffer *b, const sock_addr *saddr);
43 int sock_addr_stringify_append_buffer(buffer *b, const sock_addr *saddr);
44 int sock_addr_nameinfo_append_buffer(server *srv, buffer *b, const sock_addr *saddr);
46 int sock_addr_from_buffer_hints_numeric(server *srv, sock_addr *saddr, socklen_t *len, const buffer *b, int family, unsigned short port);
47 int sock_addr_from_str_hints(server *srv, sock_addr *saddr, socklen_t *len, const char *str, int family, unsigned short port);
48 int sock_addr_from_str_numeric(server *srv, sock_addr *saddr, const char *str);
51 #endif