scoutfs: add scoutfs_addr sin conversion functions

Add some quick functions that let us convert between our persistent
packed inet addr struct and native sockaddr_in structs.

Signed-off-by: Zach Brown <zab@versity.com>
This commit is contained in:
Zach Brown
2019-07-03 16:19:23 -07:00
committed by Zach Brown
parent 6f5cfd8cc2
commit 1ea75a9d54

View File

@@ -2,10 +2,26 @@
#define _SCOUTFS_NET_H_
#include <linux/in.h>
#include "endian_swap.h"
#define SIN_FMT "%pIS:%u"
#define SIN_ARG(sin) sin, be16_to_cpu((sin)->sin_port)
static inline void scoutfs_addr_to_sin(struct sockaddr_in *sin,
struct scoutfs_inet_addr *addr)
{
sin->sin_family = AF_INET;
sin->sin_addr.s_addr = cpu_to_be32(le32_to_cpu(addr->addr));
sin->sin_port = cpu_to_be16(le16_to_cpu(addr->port));
}
static inline void scoutfs_addr_from_sin(struct scoutfs_inet_addr *addr,
struct sockaddr_in *sin)
{
addr->addr = be32_to_le32(sin->sin_addr.s_addr);
addr->port = be16_to_le16(sin->sin_port);
}
struct scoutfs_net_connection;
/* These are called in their own blocking context */