--- /dev/null
+/*
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS DNS Shared Library
+ * FILE: lib/dnslib/addr.c
+ * PURPOSE: Contains the Address Family Information Tables
+ */
+
+/* INCLUDES ******************************************************************/
+#include "precomp.h"
+
+/* DATA **********************************************************************/
+
+DNS_FAMILY_INFO AddrFamilyTable[3] =
+{
+ {
+ AF_INET,
+ DNS_TYPE_A,
+ sizeof(IP4_ADDRESS),
+ sizeof(SOCKADDR_IN),
+ FIELD_OFFSET(SOCKADDR_IN, sin_addr)
+ },
+ {
+ AF_INET6,
+ DNS_TYPE_AAAA,
+ sizeof(IP6_ADDRESS),
+ sizeof(SOCKADDR_IN6),
+ FIELD_OFFSET(SOCKADDR_IN6, sin6_addr)
+ },
+ {
+ AF_ATM,
+ DNS_TYPE_ATMA,
+ sizeof(ATM_ADDRESS),
+ sizeof(SOCKADDR_ATM),
+ FIELD_OFFSET(SOCKADDR_ATM, satm_number)
+ }
+};
+
+/* FUNCTIONS *****************************************************************/
+
+PDNS_FAMILY_INFO
+WINAPI
+FamilyInfo_GetForFamily(IN WORD AddressFamily)
+{
+ /* Check which family this is */
+ switch (AddressFamily)
+ {
+ case AF_INET:
+ /* Return IPv4 Family Info */
+ return &AddrFamilyTable[0];
+
+ case AF_INET6:
+ /* Return IPv6 Family Info */
+ return &AddrFamilyTable[1];
+
+ case AF_ATM:
+ /* Return ATM Family Info */
+ return &AddrFamilyTable[2];
+
+ default:
+ /* Invalid family */
+ return NULL;
+ }
+
+}
+