diff options
Diffstat (limited to 'src/nvim/channel.h')
-rw-r--r-- | src/nvim/channel.h | 72 |
1 files changed, 9 insertions, 63 deletions
diff --git a/src/nvim/channel.h b/src/nvim/channel.h index 5c9d708ac2..35d369e513 100644 --- a/src/nvim/channel.h +++ b/src/nvim/channel.h @@ -4,75 +4,17 @@ #include <stdint.h> #include <stdlib.h> +#include "nvim/channel_defs.h" // IWYU pragma: keep #include "nvim/eval/typval_defs.h" +#include "nvim/event/defs.h" #include "nvim/event/libuv_process.h" -#include "nvim/event/multiqueue.h" -#include "nvim/event/process.h" -#include "nvim/event/socket.h" -#include "nvim/event/stream.h" -#include "nvim/garray_defs.h" +#include "nvim/func_attr.h" #include "nvim/macros_defs.h" -#include "nvim/main.h" #include "nvim/map_defs.h" #include "nvim/msgpack_rpc/channel_defs.h" #include "nvim/os/pty_process.h" -#include "nvim/terminal.h" #include "nvim/types_defs.h" -#define CHAN_STDIO 1 -#define CHAN_STDERR 2 - -typedef enum { - kChannelStreamProc, - kChannelStreamSocket, - kChannelStreamStdio, - kChannelStreamStderr, - kChannelStreamInternal, -} ChannelStreamType; - -typedef enum { - kChannelPartStdin, - kChannelPartStdout, - kChannelPartStderr, - kChannelPartRpc, - kChannelPartAll, -} ChannelPart; - -typedef enum { - kChannelStdinPipe, - kChannelStdinNull, -} ChannelStdinMode; - -typedef struct { - Stream in; - Stream out; -} StdioPair; - -typedef struct { - bool closed; -} StderrState; - -typedef struct { - LuaRef cb; - bool closed; -} InternalState; - -typedef struct { - Callback cb; - dict_T *self; - garray_T buffer; - bool eof; - bool buffered; - bool fwd_err; - const char *type; -} CallbackReader; - -#define CALLBACK_READER_INIT ((CallbackReader){ .cb = CALLBACK_NONE, \ - .self = NULL, \ - .buffer = GA_EMPTY_INIT_VALUE, \ - .buffered = false, \ - .fwd_err = false, \ - .type = NULL }) static inline bool callback_reader_set(CallbackReader reader) { return reader.cb.type != kCallbackNone || reader.self; @@ -122,7 +64,9 @@ static inline Channel *find_channel(uint64_t id) } static inline Stream *channel_instream(Channel *chan) - FUNC_ATTR_NONNULL_ALL + REAL_FATTR_NONNULL_ALL; + +static inline Stream *channel_instream(Channel *chan) { switch (chan->streamtype) { case kChannelStreamProc: @@ -142,7 +86,9 @@ static inline Stream *channel_instream(Channel *chan) } static inline Stream *channel_outstream(Channel *chan) - FUNC_ATTR_NONNULL_ALL + REAL_FATTR_NONNULL_ALL; + +static inline Stream *channel_outstream(Channel *chan) { switch (chan->streamtype) { case kChannelStreamProc: |