perf: rename addr_tuple4 to four_tuple
This commit is contained in:
67
common/include/four_tuple.h
Normal file
67
common/include/four_tuple.h
Normal file
@@ -0,0 +1,67 @@
|
||||
#ifndef _FOUR_TUPLE_H
|
||||
#define _FOUR_TUPLE_H
|
||||
|
||||
#ifdef __cpluscplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <netinet/in.h>
|
||||
|
||||
enum addr_type
|
||||
{
|
||||
ADDR_TYPE_V4,
|
||||
ADDR_TYPE_V6,
|
||||
};
|
||||
|
||||
struct addr_v4
|
||||
{
|
||||
struct in_addr src_addr; /* network order */
|
||||
struct in_addr dst_addr; /* network order */
|
||||
};
|
||||
|
||||
struct addr_v6
|
||||
{
|
||||
struct in6_addr src_addr; /* network order */
|
||||
struct in6_addr dst_addr; /* network order */
|
||||
};
|
||||
|
||||
struct four_tuple
|
||||
{
|
||||
enum addr_type addr_type;
|
||||
in_port_t src_port; /* network order */
|
||||
in_port_t dst_port; /* network order */
|
||||
union
|
||||
{
|
||||
struct addr_v4 addr_v4;
|
||||
struct addr_v6 addr_v6;
|
||||
};
|
||||
};
|
||||
|
||||
#define INIT_ADDR_V4(name, src_addr_str, src_port_num, dst_addr_str, dst_port_num) \
|
||||
struct four_tuple name; \
|
||||
memset(&name, 0, sizeof(name)); \
|
||||
(name).addr_type = ADDR_TYPE_V4; \
|
||||
(name).src_port = htons((src_port_num)); \
|
||||
(name).dst_port = htons((dst_port_num)); \
|
||||
inet_pton(AF_INET, (src_addr_str), &(name).addr_v4.src_addr); \
|
||||
inet_pton(AF_INET, (dst_addr_str), &(name).addr_v4.dst_addr);
|
||||
|
||||
#define INIT_ADDR_V6(name, src_addr_str, src_port_num, dst_addr_str, dst_port_num) \
|
||||
struct four_tuple name; \
|
||||
memset(&name, 0, sizeof(name)); \
|
||||
(name).addr_type = ADDR_TYPE_V6; \
|
||||
(name).src_port = htons((src_port_num)); \
|
||||
(name).dst_port = htons((dst_port_num)); \
|
||||
inet_pton(AF_INET6, (src_addr_str), &(name).addr_v6.src_addr); \
|
||||
inet_pton(AF_INET6, (dst_addr_str), &(name).addr_v6.dst_addr);
|
||||
|
||||
void four_tuple_copy(struct four_tuple *dst, struct four_tuple *src);
|
||||
char *four_tuple_to_string(const struct four_tuple *addr);
|
||||
void four_tuple_reverse(const struct four_tuple *orin, struct four_tuple *out);
|
||||
|
||||
#ifdef __cpluscplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user