From 907bf2598220828a50b22cc00395524bb74feb8e Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 16 Sep 2005 01:19:32 +0000 Subject: Make AVAHI_PROTO_xxx well defined constants git-svn-id: file:///home/lennart/svn/public/avahi/trunk@595 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-common/address.h | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'avahi-common/address.h') 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 -- cgit