]> git.meshlink.io Git - catta/blobdiff - address.h
* add todo list
[catta] / address.h
index 28ccb4bf7aca2551cf59ed097f2756d12d07fd5f..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,20 +14,26 @@ 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);
 gint flx_address_cmp(const flxAddress *a, const flxAddress *b);
 
-gchar *flx_address_snprint(char *s, guint length, const flxAddress *a);
+gchar *flx_address_snprint(char *ret_s, guint length, const flxAddress *a);
+
+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(const flxAddress *a);
+gchar* flx_reverse_lookup_name_ipv4(const flxIPv4Address *a);
+gchar* flx_reverse_lookup_name_ipv6_arpa(const flxIPv6Address *a);
+gchar* flx_reverse_lookup_name_ipv6_int(const flxIPv6Address *a);
 
 #endif