summaryrefslogtreecommitdiff
path: root/src/proto/channel.pro
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-10-09 17:28:01 +0200
committerBram Moolenaar <Bram@vim.org>2016-10-09 17:28:01 +0200
commitdc0ccaee68ca24d10050117fbec757ad33590a17 (patch)
tree8a98b130b1cd6b91b209c8163220da3f6c5ae440 /src/proto/channel.pro
parent9b4579481892a62e7e002498b9eddaaf75bbda49 (diff)
downloadvim-git-dc0ccaee68ca24d10050117fbec757ad33590a17.tar.gz
patch 8.0.0027v8.0.0027
Problem: A channel is closed when reading on stderr or stdout fails, but there may still be something to read on another part. Solution: Turn ch_to_be_closed into a bitfield. (Ozaki Kiichi)
Diffstat (limited to 'src/proto/channel.pro')
-rw-r--r--src/proto/channel.pro29
1 files changed, 14 insertions, 15 deletions
diff --git a/src/proto/channel.pro b/src/proto/channel.pro
index 53c5dab94..6a52d8b2b 100644
--- a/src/proto/channel.pro
+++ b/src/proto/channel.pro
@@ -14,15 +14,15 @@ channel_T *channel_open_func(typval_T *argvars);
void channel_set_pipes(channel_T *channel, sock_T in, sock_T out, sock_T err);
void channel_set_job(channel_T *channel, job_T *job, jobopt_T *options);
void channel_set_options(channel_T *channel, jobopt_T *opt);
-void channel_set_req_callback(channel_T *channel, int part, char_u *callback, partial_T *partial, int id);
+void channel_set_req_callback(channel_T *channel, ch_part_T part, char_u *callback, partial_T *partial, int id);
void channel_buffer_free(buf_T *buf);
void channel_write_any_lines(void);
void channel_write_new_lines(buf_T *buf);
-readq_T *channel_peek(channel_T *channel, int part);
+readq_T *channel_peek(channel_T *channel, ch_part_T part);
char_u *channel_first_nl(readq_T *node);
-char_u *channel_get(channel_T *channel, int part);
-void channel_consume(channel_T *channel, int part, int len);
-int channel_collapse(channel_T *channel, int part, int want_nl);
+char_u *channel_get(channel_T *channel, ch_part_T part);
+void channel_consume(channel_T *channel, ch_part_T part, int len);
+int channel_collapse(channel_T *channel, ch_part_T part, int want_nl);
int channel_can_write_to(channel_T *channel);
int channel_is_open(channel_T *channel);
char *channel_status(channel_T *channel, int req_part);
@@ -31,13 +31,12 @@ void channel_close(channel_T *channel, int invoke_close_cb);
void channel_close_in(channel_T *channel);
void channel_clear(channel_T *channel);
void channel_free_all(void);
-char_u *channel_read_block(channel_T *channel, int part, int timeout);
-int channel_read_json_block(channel_T *channel, int part, int timeout_arg, int id, typval_T **rettv);
+char_u *channel_read_block(channel_T *channel, ch_part_T part, int timeout);
+int channel_read_json_block(channel_T *channel, ch_part_T part, int timeout_arg, int id, typval_T **rettv);
void common_channel_read(typval_T *argvars, typval_T *rettv, int raw);
-channel_T *channel_fd2channel(sock_T fd, int *partp);
+channel_T *channel_fd2channel(sock_T fd, ch_part_T *partp);
void channel_handle_events(void);
-int channel_send(channel_T *channel, int part, char_u *buf, int len, char *fun);
-channel_T *send_common(typval_T *argvars, char_u *text, int id, int eval, jobopt_T *opt, char *fun, int *part_read);
+int channel_send(channel_T *channel, ch_part_T part, char_u *buf, int len, char *fun);
void ch_expr_common(typval_T *argvars, typval_T *rettv, int eval);
void ch_raw_common(typval_T *argvars, typval_T *rettv, int eval);
int channel_poll_setup(int nfd_in, void *fds_in);
@@ -46,14 +45,14 @@ int channel_select_setup(int maxfd_in, void *rfds_in, void *wfds_in);
int channel_select_check(int ret_in, void *rfds_in, void *wfds_in);
int channel_parse_messages(void);
int set_ref_in_channel(int copyID);
-int channel_part_send(channel_T *channel);
-int channel_part_read(channel_T *channel);
-ch_mode_T channel_get_mode(channel_T *channel, int part);
-int channel_get_timeout(channel_T *channel, int part);
+ch_part_T channel_part_send(channel_T *channel);
+ch_part_T channel_part_read(channel_T *channel);
+ch_mode_T channel_get_mode(channel_T *channel, ch_part_T part);
+int channel_get_timeout(channel_T *channel, ch_part_T part);
void clear_job_options(jobopt_T *opt);
void free_job_options(jobopt_T *opt);
int get_job_options(typval_T *tv, jobopt_T *opt, int supported);
-channel_T *get_channel_arg(typval_T *tv, int check_open, int reading, int part);
+channel_T *get_channel_arg(typval_T *tv, int check_open, int reading, ch_part_T part);
void job_free_all(void);
int set_ref_in_job(int copyID);
void job_unref(job_T *job);