~kris/suckless

dwmblocks

ref: 8acdeef689db9879d8b236fdbed97323edf04a82 dwmblocks/include/signal-handler.h -rw-r--r-- 1.1 KiB
8acdeef6 — Kris Yotam sb-forecast: 30 second interval for retry logic 7 months ago
                                                                                
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
29
30
31
32
33
#ifndef SIGNAL_HANDLER_H
#define SIGNAL_HANDLER_H

#include <signal.h>

#include "block.h"
#include "timer.h"

typedef sigset_t signal_set;
typedef int (*signal_refresh_callback)(block* const blocks,
                                       const unsigned short block_count);
typedef int (*signal_timer_callback)(block* const blocks,
                                     const unsigned short block_code,
                                     timer* const timer);

typedef struct {
    int fd;
    const signal_refresh_callback refresh_callback;
    const signal_timer_callback timer_callback;

    block* const blocks;
    const unsigned short block_count;
} signal_handler;

signal_handler signal_handler_new(
    block* const blocks, const unsigned short block_count,
    const signal_refresh_callback refresh_callback,
    const signal_timer_callback timer_callback);
int signal_handler_init(signal_handler* const handler);
int signal_handler_deinit(signal_handler* const handler);
int signal_handler_process(signal_handler* const handler, timer* const timer);

#endif  // SIGNAL_HANDLER_H