lib/in46_addr: add in46a_from_gsna
Prepare to use it in gtp-kernel.c in a future patch. Related: OS#6096 Change-Id: I3e76eb7ee89ba338f085c617662d15cffa2a62d5
This commit is contained in:
parent
37daa5d003
commit
4963d1c2ea
|
@ -814,10 +814,7 @@ static const char *print_gsnaddr(const struct ul16_t *in)
|
||||||
{
|
{
|
||||||
struct in46_addr in46;
|
struct in46_addr in46;
|
||||||
|
|
||||||
in46.len = in->l;
|
in46a_from_gsna(in, &in46);
|
||||||
OSMO_ASSERT(in->l <= sizeof(in46.v6));
|
|
||||||
memcpy(&in46.v6, in->v, in->l);
|
|
||||||
|
|
||||||
return in46a_ntoa(&in46);
|
return in46a_ntoa(&in46);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -375,3 +375,10 @@ default_to_dyn_v4:
|
||||||
dst->v4.s_addr = 0;
|
dst->v4.s_addr = 0;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void in46a_from_gsna(const struct ul16_t *in, struct in46_addr *dst)
|
||||||
|
{
|
||||||
|
dst->len = in->l;
|
||||||
|
OSMO_ASSERT(in->l <= sizeof(dst->v6));
|
||||||
|
memcpy(&dst->v6, in->v, in->l);
|
||||||
|
}
|
||||||
|
|
|
@ -39,3 +39,5 @@ static inline bool in46a_is_v6(const struct in46_addr *addr) {
|
||||||
static inline bool in46a_is_v4(const struct in46_addr *addr) {
|
static inline bool in46a_is_v4(const struct in46_addr *addr) {
|
||||||
return addr->len == sizeof(struct in_addr);
|
return addr->len == sizeof(struct in_addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void in46a_from_gsna(const struct ul16_t *in, struct in46_addr *dst);
|
||||||
|
|
Loading…
Reference in New Issue