aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/os/event_defs.h
blob: 553d4e3125b9fe89a5545e205da66fca748039a5 (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
#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 struct event Event;
typedef void (*event_handler)(Event event);

struct event {
  EventSource source;
  event_handler handler;
  union {
    int signum;
    struct {
      RStream *ptr;
      bool eof;
    } rstream;
    Job *job;
  } data;
}; 

#endif  // NVIM_OS_EVENT_DEFS_H