aboutsummaryrefslogtreecommitdiff
path: root/src/os/event_defs.h
blob: 5925a3171868dc88f8946d68086a1122a8afb3a3 (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
24
25
26
27
28
29
#ifndef NEOVIM_OS_EVENT_DEFS_H
#define NEOVIM_OS_EVENT_DEFS_H

#include "os/job_defs.h"
#include "os/rstream_defs.h"

typedef enum {
  kEventSignal,
  kEventJobActivity,
  kEventRStreamData
} EventType;

typedef struct {
  EventType type;
  union {
    int signum;
    struct {
      RStream *ptr;
      bool eof;
    } rstream;
    struct {
      Job *ptr;
      RStream *target;
      bool from_stdout;
    } job;
  } data;
} Event;

#endif  // NEOVIM_OS_EVENT_DEFS_H