aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/os/event_defs.h
blob: dbee3e2ba7a0c54fb683b2b4bb4808eef72bcb54 (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
30
#ifndef NVIM_OS_EVENT_DEFS_H
#define NVIM_OS_EVENT_DEFS_H

#include <stdbool.h>

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

typedef void * EventSource;

typedef enum {
  kEventSignal,
  kEventRStreamData,
  kEventJobExit
} EventType;

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

#endif  // NVIM_OS_EVENT_DEFS_H