wg_user
rumpuser_wg_destroy(wg->wg_user);
wg->wg_user = NULL;
strncpy(ifra->ifra_name, rumpuser_wg_get_tunname(wg->wg_user),
error = rumpuser_wg_ioctl(wg->wg_user, cmd, ifra, AF_INET);
strncpy(ifra->ifra_name, rumpuser_wg_get_tunname(wg->wg_user),
error = rumpuser_wg_ioctl(wg->wg_user, cmd, ifra, AF_INET6);
return wg->wg_user != NULL;
} else if (wg->wg_user != NULL) {
error = rumpuser_wg_create(tun_name, wg, &wg->wg_user);
error = rumpuser_wg_send_peer(wg->wg_user, wgsatosa(wgsa),
error = rumpuser_wg_send_peer(wg->wg_user, &dst.sa, pkt, pktlen);
rumpuser_wg_send_user(wg->wg_user, &dst.sa, pkt, pktlen);
error = rumpuser_wg_sock_bind(wg->wg_user, port);
struct wg_user *wg_user;
close_tun(struct wg_user *wgu)
struct wg_user *wgu = aaargh;
struct wg_user **wgup)
struct wg_user *wgu = NULL;
rumpuser_wg_send_user(struct wg_user *wgu, const struct sockaddr *dst,
rumpuser_wg_send_peer(struct wg_user *wgu, const struct sockaddr *dst,
rumpuser_wg_ioctl(struct wg_user *wgu, u_long cmd, void *data, int af)
rumpuser_wg_sock_bind(struct wg_user *wgu, const uint16_t port)
rumpuser_wg_destroy(struct wg_user *wgu)
rumpuser_wg_get_tunname(struct wg_user *wgu)
struct wg_user;
struct wg_user **);
void rumpuser_wg_destroy(struct wg_user *);
void rumpuser_wg_send_user(struct wg_user *, const struct sockaddr *,
int rumpuser_wg_send_peer(struct wg_user *, const struct sockaddr *,
int rumpuser_wg_ioctl(struct wg_user *, u_long, void *, int);
int rumpuser_wg_sock_bind(struct wg_user *, uint16_t);
char * rumpuser_wg_get_tunname(struct wg_user *);