#include <apr_poll.h>
#include <apr_hash.h>
+#include <libvirt/libvirt.h>
+
enum guest_state {
guest_state_connecting, /* Connecting to socket. */
guest_state_request, /* Waiting or reading the request. */
/* Increments every time guest does something bad, decremented once per min */
unsigned penalty;
struct timespec last_penalty_decr;
+
+ /* Hash records last time each command was run by this guest. */
+ apr_hash_t *lasttime;
};
enum arg_type {
extern const char *conf_file;
extern char *socket_dir;
extern char *guests_file;
+extern char *libvirt_uri;
+extern int libvirt_uri_set_on_cmdline;
extern int verbose;
extern int verbose_set_on_cmdline;
extern int foreground;
extern int foreground_set_on_cmdline;
extern int messages_to_stderr;
extern apr_pool_t *pool; /* pool for global memory allocation */
-
extern void initialize (void);
+extern struct timespec *diff_timespec (struct timespec *r, const struct timespec *a, const struct timespec *b); /* r = a - b */
/* error.c */
extern void init_syslog (void);
/* configuration.c */
extern void read_main_conf_file (void);
+extern void check_guests_file (struct guest_description *hval, const char *cmd, double *interval, int *enabled);
/* monitor_sockets.c */
extern int sockets_inotify_fd;
apr_hash_set (commands, #name, APR_HASH_KEY_STRING, cb); \
}
+/* virt.c */
+extern void init_libvirt (void);
+extern virConnectPtr conn;
+extern virNodeInfo nodeinfo;
+
#endif /* HOSTINFOD_H */