]> git.meshlink.io Git - catta/blobdiff - address.h
add client part of probing
[catta] / address.h
index 33dcc279826e3dfb4f92e3b609a8642279cd0d1c..66b3b1f4f72f1ff8baf76bb4d9d4c6e604685fcb 100644 (file)
--- a/address.h
+++ b/address.h
@@ -3,6 +3,8 @@
 
 #include <glib.h>
 
+#include <sys/socket.h>
+
 typedef struct {
     guint32 address;
 } flxIPv4Address;
@@ -12,13 +14,13 @@ typedef struct {
 } flxIPv6Address;
 
 typedef struct {
-    guint family;
+    guchar family;
 
     union {
         flxIPv6Address ipv6;
         flxIPv4Address ipv4;
         guint8 data[0];
-    };
+    } data;
 } flxAddress;
 
 guint flx_address_get_size(const flxAddress *a);
@@ -26,7 +28,9 @@ gint flx_address_cmp(const flxAddress *a, const flxAddress *b);
 
 gchar *flx_address_snprint(char *ret_s, guint length, const flxAddress *a);
 
-flxAddress *flx_address_parse(const char *s, int family, flxAddress *ret_addr);
+flxAddress *flx_address_parse(const char *s, guchar family, flxAddress *ret_addr);
+
+flxAddress *flx_address_from_sockaddr(const struct sockaddr* sa, flxAddress *ret_addr);
 
 gchar* flx_reverse_lookup_name_ipv4(const flxIPv4Address *a);
 gchar* flx_reverse_lookup_name_ipv6_arpa(const flxIPv6Address *a);