aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/event/signal.h
blob: e32608acc0ba44f3bf1bca4a82f6185b2581d31f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef NVIM_EVENT_SIGNAL_H
#define NVIM_EVENT_SIGNAL_H

#include <uv.h>

#include "nvim/event/loop.h"

typedef struct signal_watcher SignalWatcher;
typedef void (*signal_cb)(SignalWatcher *watcher, int signum, void *data);
typedef void (*signal_close_cb)(SignalWatcher *watcher, void *data);

struct signal_watcher {
  uv_signal_t uv;
  void *data;
  signal_cb cb;
  signal_close_cb close_cb;
  Queue *events;
};

#ifdef INCLUDE_GENERATED_DECLARATIONS
# include "event/signal.h.generated.h"
#endif
#endif  // NVIM_EVENT_SIGNAL_H