/* Generated by ./xlat/gen.sh from ./xlat/addrfams.in; do not edit. */
#if !(defined(AF_UNSPEC) || (defined(HAVE_DECL_AF_UNSPEC) && HAVE_DECL_AF_UNSPEC))
# define AF_UNSPEC 0
#endif
#if !(defined(AF_UNIX) || (defined(HAVE_DECL_AF_UNIX) && HAVE_DECL_AF_UNIX))
# define AF_UNIX 1
#endif
#if !(defined(AF_INET) || (defined(HAVE_DECL_AF_INET) && HAVE_DECL_AF_INET))
# define AF_INET 2
#endif
#if !(defined(AF_AX25) || (defined(HAVE_DECL_AF_AX25) && HAVE_DECL_AF_AX25))
# define AF_AX25 3
#endif
#if !(defined(AF_IPX) || (defined(HAVE_DECL_AF_IPX) && HAVE_DECL_AF_IPX))
# define AF_IPX 4
#endif
#if !(defined(AF_APPLETALK) || (defined(HAVE_DECL_AF_APPLETALK) && HAVE_DECL_AF_APPLETALK))
# define AF_APPLETALK 5
#endif
#if !(defined(AF_NETROM) || (defined(HAVE_DECL_AF_NETROM) && HAVE_DECL_AF_NETROM))
# define AF_NETROM 6
#endif
#if !(defined(AF_BRIDGE) || (defined(HAVE_DECL_AF_BRIDGE) && HAVE_DECL_AF_BRIDGE))
# define AF_BRIDGE 7
#endif
#if !(defined(AF_ATMPVC) || (defined(HAVE_DECL_AF_ATMPVC) && HAVE_DECL_AF_ATMPVC))
# define AF_ATMPVC 8
#endif
#if !(defined(AF_X25) || (defined(HAVE_DECL_AF_X25) && HAVE_DECL_AF_X25))
# define AF_X25 9
#endif
#if !(defined(AF_INET6) || (defined(HAVE_DECL_AF_INET6) && HAVE_DECL_AF_INET6))
# define AF_INET6 10
#endif
#if !(defined(AF_ROSE) || (defined(HAVE_DECL_AF_ROSE) && HAVE_DECL_AF_ROSE))
# define AF_ROSE 11
#endif
#if !(defined(AF_DECnet) || (defined(HAVE_DECL_AF_DECnet) && HAVE_DECL_AF_DECnet))
# define AF_DECnet 12
#endif
#if !(defined(AF_NETBEUI) || (defined(HAVE_DECL_AF_NETBEUI) && HAVE_DECL_AF_NETBEUI))
# define AF_NETBEUI 13
#endif
#if !(defined(AF_SECURITY) || (defined(HAVE_DECL_AF_SECURITY) && HAVE_DECL_AF_SECURITY))
# define AF_SECURITY 14
#endif
#if !(defined(AF_KEY) || (defined(HAVE_DECL_AF_KEY) && HAVE_DECL_AF_KEY))
# define AF_KEY 15
#endif
#if !(defined(AF_NETLINK) || (defined(HAVE_DECL_AF_NETLINK) && HAVE_DECL_AF_NETLINK))
# define AF_NETLINK 16
#endif
#if !(defined(AF_PACKET) || (defined(HAVE_DECL_AF_PACKET) && HAVE_DECL_AF_PACKET))
# define AF_PACKET 17
#endif
#if !(defined(AF_ASH) || (defined(HAVE_DECL_AF_ASH) && HAVE_DECL_AF_ASH))
# define AF_ASH 18
#endif
#if !(defined(AF_ECONET) || (defined(HAVE_DECL_AF_ECONET) && HAVE_DECL_AF_ECONET))
# define AF_ECONET 19
#endif
#if !(defined(AF_ATMSVC) || (defined(HAVE_DECL_AF_ATMSVC) && HAVE_DECL_AF_ATMSVC))
# define AF_ATMSVC 20
#endif
#if !(defined(AF_RDS) || (defined(HAVE_DECL_AF_RDS) && HAVE_DECL_AF_RDS))
# define AF_RDS 21
#endif
#if !(defined(AF_SNA) || (defined(HAVE_DECL_AF_SNA) && HAVE_DECL_AF_SNA))
# define AF_SNA 22
#endif
#if !(defined(AF_IRDA) || (defined(HAVE_DECL_AF_IRDA) && HAVE_DECL_AF_IRDA))
# define AF_IRDA 23
#endif
#if !(defined(AF_PPPOX) || (defined(HAVE_DECL_AF_PPPOX) && HAVE_DECL_AF_PPPOX))
# define AF_PPPOX 24
#endif
#if !(defined(AF_WANPIPE) || (defined(HAVE_DECL_AF_WANPIPE) && HAVE_DECL_AF_WANPIPE))
# define AF_WANPIPE 25
#endif
#if !(defined(AF_LLC) || (defined(HAVE_DECL_AF_LLC) && HAVE_DECL_AF_LLC))
# define AF_LLC 26
#endif
#if !(defined(AF_IB) || (defined(HAVE_DECL_AF_IB) && HAVE_DECL_AF_IB))
# define AF_IB 27
#endif
#if !(defined(AF_MPLS) || (defined(HAVE_DECL_AF_MPLS) && HAVE_DECL_AF_MPLS))
# define AF_MPLS 28
#endif
#if !(defined(AF_CAN) || (defined(HAVE_DECL_AF_CAN) && HAVE_DECL_AF_CAN))
# define AF_CAN 29
#endif
#if !(defined(AF_TIPC) || (defined(HAVE_DECL_AF_TIPC) && HAVE_DECL_AF_TIPC))
# define AF_TIPC 30
#endif
#if !(defined(AF_BLUETOOTH) || (defined(HAVE_DECL_AF_BLUETOOTH) && HAVE_DECL_AF_BLUETOOTH))
# define AF_BLUETOOTH 31
#endif
#if !(defined(AF_IUCV) || (defined(HAVE_DECL_AF_IUCV) && HAVE_DECL_AF_IUCV))
# define AF_IUCV 32
#endif
#if !(defined(AF_RXRPC) || (defined(HAVE_DECL_AF_RXRPC) && HAVE_DECL_AF_RXRPC))
# define AF_RXRPC 33
#endif
#if !(defined(AF_ISDN) || (defined(HAVE_DECL_AF_ISDN) && HAVE_DECL_AF_ISDN))
# define AF_ISDN 34
#endif
#if !(defined(AF_PHONET) || (defined(HAVE_DECL_AF_PHONET) && HAVE_DECL_AF_PHONET))
# define AF_PHONET 35
#endif
#if !(defined(AF_IEEE802154) || (defined(HAVE_DECL_AF_IEEE802154) && HAVE_DECL_AF_IEEE802154))
# define AF_IEEE802154 36
#endif
#if !(defined(AF_CAIF) || (defined(HAVE_DECL_AF_CAIF) && HAVE_DECL_AF_CAIF))
# define AF_CAIF 37
#endif
#if !(defined(AF_ALG) || (defined(HAVE_DECL_AF_ALG) && HAVE_DECL_AF_ALG))
# define AF_ALG 38
#endif
#if !(defined(AF_NFC) || (defined(HAVE_DECL_AF_NFC) && HAVE_DECL_AF_NFC))
# define AF_NFC 39
#endif
#if !(defined(AF_VSOCK) || (defined(HAVE_DECL_AF_VSOCK) && HAVE_DECL_AF_VSOCK))
# define AF_VSOCK 40
#endif
#if !(defined(AF_KCM) || (defined(HAVE_DECL_AF_KCM) && HAVE_DECL_AF_KCM))
# define AF_KCM 41
#endif
#if !(defined(AF_QIPCRTR) || (defined(HAVE_DECL_AF_QIPCRTR) && HAVE_DECL_AF_QIPCRTR))
# define AF_QIPCRTR 42
#endif
#if !(defined(AF_SMC) || (defined(HAVE_DECL_AF_SMC) && HAVE_DECL_AF_SMC))
# define AF_SMC 43
#endif

#ifndef IN_MPERS

const struct xlat addrfams[] = {
 XLAT(AF_UNSPEC),
 XLAT(AF_UNIX),
 XLAT(AF_INET),
 XLAT(AF_AX25),
 XLAT(AF_IPX),
 XLAT(AF_APPLETALK),
 XLAT(AF_NETROM),
 XLAT(AF_BRIDGE),
 XLAT(AF_ATMPVC),
 XLAT(AF_X25),
 XLAT(AF_INET6),
 XLAT(AF_ROSE),
 XLAT(AF_DECnet),
 XLAT(AF_NETBEUI),
 XLAT(AF_SECURITY),
 XLAT(AF_KEY),
 XLAT(AF_NETLINK),
 XLAT(AF_PACKET),
 XLAT(AF_ASH),
 XLAT(AF_ECONET),
 XLAT(AF_ATMSVC),
 XLAT(AF_RDS),
 XLAT(AF_SNA),
 XLAT(AF_IRDA),
 XLAT(AF_PPPOX),
 XLAT(AF_WANPIPE),
 XLAT(AF_LLC),
 XLAT(AF_IB),
 XLAT(AF_MPLS),
 XLAT(AF_CAN),
 XLAT(AF_TIPC),
 XLAT(AF_BLUETOOTH),
 XLAT(AF_IUCV),
 XLAT(AF_RXRPC),
 XLAT(AF_ISDN),
 XLAT(AF_PHONET),
 XLAT(AF_IEEE802154),
 XLAT(AF_CAIF),
 XLAT(AF_ALG),
 XLAT(AF_NFC),
 XLAT(AF_VSOCK),
 XLAT(AF_KCM),
 XLAT(AF_QIPCRTR),
 XLAT(AF_SMC),
 XLAT_END
};

#endif /* !IN_MPERS */
