The Assimilation Project
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nanoprobe.h
Go to the documentation of this file.
1 
24 #ifndef _NANOPROBE_H
25 #define _NANOPROBE_H
26 #include <projectcommon.h>
27 #include <hblistener.h>
28 #include <netio.h>
29 #include <netgsource.h>
30 #include <configcontext.h>
31 typedef struct _NanoHbStats NanoHbStats;
32 struct _NanoHbStats {
33  guint64 heartbeat_count;
34  guint dead_count;
38 };
40 extern gboolean nano_connected;
41 
42 WINEXPORT void nano_start_full(const char *initdiscoverpath, guint discover_interval
44 WINEXPORT void nano_shutdown(gboolean statreport);
46 WINEXPORT gboolean nano_initiate_shutdown(void);
47 WINEXPORT void nanoprobe_report_upstream(guint16 reporttype, NetAddr* who, const char * sysname, guint64 howlate);
48 extern const char * procname;
49 WINEXPORT extern int errcount;
50 WINEXPORT extern GMainLoop* mainloop;
51 extern gboolean nano_shutting_down;
52 
53 // Override this if you want to set up a non-standard deadtime agent. */
55 // Override this if you want to set up a non-standard receipt-of-heartbeat agent. */
57 // Override this if you want to set up a non-standard late heartbeat agent. */
58 void (*nanoprobe_warntime_agent)(HbListener*, guint64 howlate);
59 // Override this if you want to set up a non-standard returned-from-the-dead agent. */
60 void (*nanoprobe_comealive_agent)(HbListener*, guint64 howlate);
61 // Override if you need to use an HbListener subclass...
62 extern HbListener* (*nanoprobe_hblistener_new)(NetAddr*, ConfigContext*);
63 
64 #define MARTIAN_TIMEOUT 10
65 
66 #endif /* _NANOPROBE_H */