extern int natpt_initialized;
extern int ip6_protocol_tr;
extern u_int natpt_debug;
extern u_int natpt_dump;
extern struct ifnet *natpt_ip6src;
void natpt_logMsg __P((int, void *, size_t));
void natpt_logMBuf __P((int, struct mbuf *, char *));
void natpt_logIp4 __P((int, struct ip *));
void natpt_logIp6 __P((int, struct ip6_hdr *));
int natpt_log __P((int, int, void *, size_t));
int natpt_logIN6addr __P((int, char *, struct in6_addr *));
void natpt_debugProbe __P((void));
void natpt_assert __P((const char *, int, const char *));
void natpt_initialize __P((void));
struct _cSlot *lookingForIncomingV4Rule __P((struct _cv *));
struct _cSlot *lookingForOutgoingV4Rule __P((struct _cv *));
struct _cSlot *lookingForIncomingV6Rule __P((struct _cv *));
struct _cSlot *lookingForOutgoingV6Rule __P((struct _cv *));
int _natptEnableTrans __P((caddr_t));
int _natptDisableTrans __P((caddr_t));
int _natptSetRule __P((caddr_t));
int _natptSetFaithRule __P((caddr_t));
int _natptFlushRule __P((caddr_t));
int _natptSetPrefix __P((caddr_t));
int _natptBreak __P((void));
struct ifBox *natpt_asIfBox __P((char *));
struct ifBox *natpt_setIfBox __P((char *));
#ifdef NATPT_NAT
struct mbuf *translatingIPv4To4 __P((struct _cv *, struct pAddr *));
struct mbuf *translatingICMPv4To4 __P((struct _cv *, struct pAddr *));
struct mbuf *translatingTCPv4To4 __P((struct _cv *, struct pAddr *));
struct mbuf *translatingUDPv4To4 __P((struct _cv *, struct pAddr *));
#endif
struct mbuf *translatingIPv4To6 __P((struct _cv *, struct pAddr *));
struct mbuf *translatingICMPv4To6 __P((struct _cv *, struct pAddr *));
struct mbuf *translatingTCPv4To6 __P((struct _cv *, struct pAddr *));
struct mbuf *translatingUDPv4To6 __P((struct _cv *, struct pAddr *));
struct mbuf *translatingTCPUDPv4To6 __P((struct _cv *, struct pAddr *, struct _cv *));
struct mbuf *translatingIPv6To4 __P((struct _cv *, struct pAddr *));
struct mbuf *translatingICMPv6To4 __P((struct _cv *, struct pAddr *));
struct mbuf *translatingTCPv6To4 __P((struct _cv *, struct pAddr *));
struct mbuf *translatingUDPv6To4 __P((struct _cv *, struct pAddr *));
struct mbuf *translatingTCPUDPv6To4 __P((struct _cv *, struct pAddr *, struct _cv *));
struct _tSlot *lookingForOutgoingV4Hash __P((struct _cv *));
struct _tSlot *lookingForIncomingV4Hash __P((struct _cv *));
struct _tSlot *lookingForOutgoingV6Hash __P((struct _cv *));
struct _tSlot *lookingForIncomingV6Hash __P((struct _cv *));
struct _tSlot *internIncomingV4Hash __P((int, struct _cSlot *, struct _cv *));
struct _tSlot *internOutgoingV4Hash __P((int, struct _cSlot *, struct _cv *));
struct _tSlot *internIncomingV6Hash __P((int, struct _cSlot *, struct _cv *));
struct _tSlot *internOutgoingV6Hash __P((int, struct _cSlot *, struct _cv *));
struct _tSlot *checkTraceroute6Return __P((struct _cv *));
void init_hash __P((void));
void init_tslot __P((void));
void natpt_input __P((struct mbuf *, struct sockproto *,
struct sockaddr *src, struct sockaddr *dst));