summaryrefslogtreecommitdiffstats
path: root/PICA_nodeaddrlist.h
diff options
context:
space:
mode:
authorme_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac>2012-06-17 21:15:12 +0000
committerme_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac>2012-06-17 21:15:12 +0000
commit8df9466ada46e4b07990b9cb7e8b1cd61b96844a (patch)
tree2cb652e5839bed672133ffa90e7ad477f55cfb6b /PICA_nodeaddrlist.h
downloadpica-pica-8df9466ada46e4b07990b9cb7e8b1cd61b96844a.tar.gz
pica-pica-8df9466ada46e4b07990b9cb7e8b1cd61b96844a.zip
todo list update
git-svn-id: svn://localhost/project_picapica/trunk@128 fb96df88-216d-11de-830c-f3023f12d8ac
Diffstat (limited to 'PICA_nodeaddrlist.h')
-rwxr-xr-xPICA_nodeaddrlist.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/PICA_nodeaddrlist.h b/PICA_nodeaddrlist.h
new file mode 100755
index 0000000..468dfbb
--- /dev/null
+++ b/PICA_nodeaddrlist.h
@@ -0,0 +1,44 @@
+// Описание структур и функций для работы со списком адресов узлов
+//
+#ifndef PICA_NODEADDRLIST_H
+#define PICA_NODEADDRLIST_H
+
+#include <netinet/in.h>
+
+struct PICA_nodeaddr_ipv4
+{
+int magick;
+in_addr_t addr;
+in_port_t port;//network byte order
+};
+struct PICA_nodeaddr_ipv6
+{
+int magick;
+struct in6_addr addr;
+in_port_t port;//network byte order
+};
+struct PICA_nodeaddr_dns
+{
+int magick;
+unsigned int addr_len;
+char addr[256];
+in_port_t port;//network byte order
+};
+
+struct PICA_nodeaddr
+{
+char addr[256];//макс. длина DNS имени 255 символов
+int inactive_count;//кол-во зафиксированных подряд случаев недоступности узла
+time_t last_active;//
+in_port_t port;//номер порта - host byte order
+
+struct PICA_nodeaddr *next;
+};
+
+int PICA_nodeaddr_list_load(char* dbfilename,struct PICA_nodeaddr **list_head);
+int PICA_nodeaddr_list_save(char* dbfilename,struct PICA_nodeaddr *list_head);
+int PICA_nodeaddr_list_add();//
+int PICA_nodeaddr_list_remove();//
+void PICA_nodeaddr_list_free(struct PICA_nodeaddr *list_head);
+
+#endif