#include <schedule.h>
+#if __has_include(<nw/private.h>)
+#include <nw/private.h>
+#else
+#include <network/nat64.h>
+#endif
+
/* About address semantics in each case.
* initiator(addr=I) responder(addr=R)
* src dst src dst
int status; /* status of this SA */
int side; /* INITIATOR or RESPONDER */
int started_by_api; /* connection started by VPNControl API */
-
- struct sockaddr_storage *remote; /* remote address to negosiate ph1 */
- struct sockaddr_storage *local; /* local address to negosiate ph1 */
+
+ nw_nat64_prefix_t nat64_prefix; /* nat64 prefix to apply to addresses. */
+ struct sockaddr_storage *remote; /* remote address to negotiate ph1 */
+ struct sockaddr_storage *local; /* local address to negotiate ph1 */
/* XXX copy from rmconf due to anonymous configuration.
* If anonymous will be forbidden, we do delete them. */
struct phase2handle {
struct sockaddr_storage *src; /* my address of SA. */
struct sockaddr_storage *dst; /* peer's address of SA. */
-
+ nw_nat64_prefix_t nat64_prefix; /* nat64 prefix to apply to addresses. */
+
/*
* copy ip address from ID payloads when ID type is ip address.
* In other case, they must be null.
extern void sweep_sleepwake (void);
+extern uint32_t iph1_get_remote_v4_address(phase1_handle_t *iph1);
+
+extern uint32_t iph2_get_remote_v4_address(phase2_handle_t *iph2);
+
#endif /* _HANDLER_H */