aboutsummaryrefslogtreecommitdiff
path: root/include/salticidae/netaddr.h
diff options
context:
space:
mode:
authorDeterminant <tederminant@gmail.com>2019-06-03 17:30:01 -0400
committerDeterminant <tederminant@gmail.com>2019-06-03 17:30:01 -0400
commit9f294eb2e0ae0bed8120fc34fd9782f2f0a9ac74 (patch)
treed5005c9888874bd2b169fcd51418a3fab36fe631 /include/salticidae/netaddr.h
parent9ec5a371f5c05fda8ddeac3470be6fc5c67d44e9 (diff)
WIP: C bindings
Diffstat (limited to 'include/salticidae/netaddr.h')
-rw-r--r--include/salticidae/netaddr.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/include/salticidae/netaddr.h b/include/salticidae/netaddr.h
index 224d1d4..917c498 100644
--- a/include/salticidae/netaddr.h
+++ b/include/salticidae/netaddr.h
@@ -34,10 +34,10 @@
#include "salticidae/util.h"
#include "salticidae/stream.h"
+#ifdef __cplusplus
namespace salticidae {
/* TODO: IPv6 support */
-
struct NetAddr {
uint32_t ip;
uint16_t port;
@@ -124,4 +124,20 @@ namespace std {
};
}
+using netaddr_t = salticidae::NetAddr;
+#else
+typedef struct netaddr_t netaddr_t;
+#endif
+
+extern "C" {
+
+netaddr_t *netaddr_new();
+netaddr_t *netaddr_new_from_ip_port(uint32_t ip, uint16_t port);
+netaddr_t *netaddr_new_from_sip_port(const char *ip, uint16_t port);
+netaddr_t *netaddr_new_from_sipport(const char *ip_port_addr);
+bool netaddr_is_eq(const netaddr_t *a, const netaddr_t *b);
+bool netaddr_is_null(const netaddr_t *self);
+
+}
+
#endif