diff options
Diffstat (limited to 'avahi-common/address.h')
-rw-r--r-- | avahi-common/address.h | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/avahi-common/address.h b/avahi-common/address.h index 60495a3..c5e5297 100644 --- a/avahi-common/address.h +++ b/avahi-common/address.h @@ -32,16 +32,16 @@ AVAHI_C_DECL_BEGIN /** Protocol family specification, takes the values AVAHI_INET, AVAHI_INET6, AVAHI_UNSPEC */ -typedef unsigned char AvahiProtocol; +typedef char AvahiProtocol; /** Numeric network interface index. Takes OS dependent values and the special constant AVAHI_IF_UNSPEC */ typedef int AvahiIfIndex; /** Values for AvahiProtocol */ enum { - AVAHI_PROTO_INET = AF_INET, /**< IPv4 */ - AVAHI_PROTO_INET6 = AF_INET6, /**< IPv6 */ - AVAHI_PROTO_UNSPEC = AF_UNSPEC /**< Unspecified/all protocol(s) */ + AVAHI_PROTO_INET = 0, /**< IPv4 */ + AVAHI_PROTO_INET6 = 1, /**< IPv6 */ + AVAHI_PROTO_UNSPEC = -1 /**< Unspecified/all protocol(s) */ }; /** Special values for AvahiIfIndex */ @@ -61,7 +61,7 @@ typedef struct { /** Protocol (address family) independent address structure */ typedef struct { - AvahiProtocol family; /**< Address family */ + AvahiProtocol proto; /**< Address family */ union { AvahiIPv6Address ipv6; /** Address when IPv6 */ @@ -103,6 +103,15 @@ char* avahi_reverse_lookup_name_ipv6_int(const AvahiIPv6Address *a); * encapsulated IPv4 address, returns 1 if yes, 0 otherwise */ int avahi_address_is_ipv4_in_ipv6(const AvahiAddress *a); +/** Map AVAHI_PROTO_xxx constants to Unix AF_xxx constants */ +int avahi_proto_to_af(AvahiProtocol proto); + +/** Map Unix AF_xxx constants to AVAHI_PROTO_xxx constants */ +AvahiProtocol avahi_af_to_proto(int af); + +/** Return a textual representation of the specified protocol number. i.e. "IPv4", "IPv6" or "UNSPEC" */ +const char* avahi_proto_to_string(AvahiProtocol proto); + AVAHI_C_DECL_END #endif |