blob: ff31809e689cfe2d9fea74f03f0f0cd592772de2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#ifndef WATCHER_H
#define WATCHER_H
#include <poll.h>
#include <stdbool.h>
#include "block.h"
#include "main.h"
enum watcher_fd_index {
SIGNAL_FD = BLOCK_COUNT,
WATCHER_FD_COUNT,
};
typedef struct pollfd watcher_fd;
typedef struct {
watcher_fd fds[WATCHER_FD_COUNT];
unsigned short active_blocks[BLOCK_COUNT];
unsigned short active_block_count;
bool got_signal;
} watcher;
int watcher_init(watcher *const watcher, const block *const blocks,
const unsigned short block_count, const int signal_fd);
int watcher_poll(watcher *const watcher, const int timeout_ms);
#endif // WATCHER_H
|