mirror of https://github.com/schoebel/mars
41 lines
670 B
C
41 lines
670 B
C
// (c) 2010 Thomas Schoebel-Theuer / 1&1 Internet AG
|
|
#ifndef MARS_CHECK_H
|
|
#define MARS_CHECK_H
|
|
|
|
#define CHECK_LOCK
|
|
|
|
struct check_mref_aspect {
|
|
GENERIC_ASPECT(mref);
|
|
#ifdef CHECK_LOCK
|
|
struct list_head mref_head;
|
|
#endif
|
|
struct generic_callback cb;
|
|
struct check_output *output;
|
|
unsigned long last_jiffies;
|
|
atomic_t call_count;
|
|
atomic_t callback_count;
|
|
bool installed;
|
|
};
|
|
|
|
struct check_brick {
|
|
MARS_BRICK(check);
|
|
};
|
|
|
|
struct check_input {
|
|
MARS_INPUT(check);
|
|
};
|
|
|
|
struct check_output {
|
|
MARS_OUTPUT(check);
|
|
int instance_nr;
|
|
#ifdef CHECK_LOCK
|
|
struct task_struct *watchdog;
|
|
spinlock_t check_lock;
|
|
struct list_head mref_anchor;
|
|
#endif
|
|
};
|
|
|
|
MARS_TYPES(check);
|
|
|
|
#endif
|