summaryrefslogtreecommitdiff
path: root/plugins/Ping/src/pinglist.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/Ping/src/pinglist.h')
-rw-r--r--plugins/Ping/src/pinglist.h47
1 files changed, 39 insertions, 8 deletions
diff --git a/plugins/Ping/src/pinglist.h b/plugins/Ping/src/pinglist.h
index b01dcd4a17..0b9bfe15b8 100644
--- a/plugins/Ping/src/pinglist.h
+++ b/plugins/Ping/src/pinglist.h
@@ -1,18 +1,49 @@
#ifndef _PINGLIST_H
#define _PINGLIST_H
-INT_PTR LoadPingList(WPARAM wParam, LPARAM lParam);
-INT_PTR GetPingList(WPARAM wParam, LPARAM lParam);
-INT_PTR SavePingList(WPARAM wParam, LPARAM lParam);
-INT_PTR SetPingList(WPARAM wParam, LPARAM lParam); // use when you modified db yourself
-INT_PTR SetAndSavePingList(WPARAM wParam, LPARAM lParam);
-INT_PTR ClearPingList(WPARAM wParam, LPARAM lParam);
-INT_PTR GetListSize(WPARAM wParam, LPARAM lParam);
+#define PS_RESPONDING 1
+#define PS_NOTRESPONDING 2
+#define PS_TESTING 3
+#define PS_DISABLED 4
+
+#define MAX_PINGADDRESS_STRING_LENGTH 256
+
+struct PINGADDRESS
+{
+ int cbSize; //size in bytes of this structure
+ uint32_t item_id;
+ wchar_t pszName[MAX_PINGADDRESS_STRING_LENGTH]; //IP address or domain name
+ wchar_t pszLabel[MAX_PINGADDRESS_STRING_LENGTH];
+ bool responding;
+ int status;
+ short round_trip_time;
+ int miss_count;
+ int port; // -1 for ICMP, non-zero for TCP
+ char pszProto[MAX_PINGADDRESS_STRING_LENGTH];
+ wchar_t pszCommand[MAX_PATH];
+ wchar_t pszParams[MAX_PATH];
+ unsigned int get_status; // on success, if status equals this
+ unsigned int set_status; // set it to this
+ int index;
+
+ const bool operator==(const PINGADDRESS &b) const;
+ const bool operator<(const PINGADDRESS &b) const;
+};
+
+typedef std::list<PINGADDRESS> PINGLIST;
+typedef std::list<PINGADDRESS>::iterator pinglist_it;
+
+void ClearPingList(void);
+int GetListSize(void);
+void GetPingList(PINGLIST &list);
+void LoadPingList(void);
+void SavePingList(void);
+void SetPingList(const PINGLIST &list); // use when you modified db yourself
+void SetAndSavePingList(const PINGLIST &list);
// only call with list_cs locked!
void write_ping_addresses();
-
BOOL changing_clist_handle();
void set_changing_clist_handle(BOOL flag);
#endif