annotate src/proto/channel.pro @ 16943:2f0579d6b1e5

Added tag v8.1.1472 for changeset 5f3e960ce76dcbdfa12ea2009dad116e673fb6d0
author Bram Moolenaar <Bram@vim.org>
date Thu, 06 Jun 2019 12:00:08 +0200
parents a836d122231a
children cee12488e4bc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7743
6069f43cea4e commit https://github.com/vim/vim/commit/e0874f8cbcddfcf9965a85ba35199964efb1d01a
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 /* channel.c */
8498
42277980a76d commit https://github.com/vim/vim/commit/8e2c942ce49f2555d7dc2088cf3aa856820c5e32
Christian Brabandt <cb@256bit.org>
parents: 8491
diff changeset
2 void ch_logfile(char_u *fname, char_u *opt);
8114
4aea0b0aa714 commit https://github.com/vim/vim/commit/81661fb86801e6d6e5194b43dfd27d73fcc016ec
Christian Brabandt <cb@256bit.org>
parents: 8094
diff changeset
3 int ch_log_active(void);
8041
c6443e78cf2d commit https://github.com/vim/vim/commit/7707344ddec9069b495b2a5ed41f2104466fc88b
Christian Brabandt <cb@256bit.org>
parents: 8031
diff changeset
4 channel_T *add_channel(void);
10240
175b1116f96a commit https://github.com/vim/vim/commit/b9c31e71f5a4653a27e81c21226039bfa35b9131
Christian Brabandt <cb@256bit.org>
parents: 10233
diff changeset
5 int has_any_channel(void);
8498
42277980a76d commit https://github.com/vim/vim/commit/8e2c942ce49f2555d7dc2088cf3aa856820c5e32
Christian Brabandt <cb@256bit.org>
parents: 8491
diff changeset
6 int channel_unref(channel_T *channel);
8863
e1b84109506a commit https://github.com/vim/vim/commit/107e1eef1df3b786ad3ad49fbdb9e058649303b5
Christian Brabandt <cb@256bit.org>
parents: 8859
diff changeset
7 int free_unused_channels_contents(int copyID, int mask);
e1b84109506a commit https://github.com/vim/vim/commit/107e1eef1df3b786ad3ad49fbdb9e058649303b5
Christian Brabandt <cb@256bit.org>
parents: 8859
diff changeset
8 void free_unused_channels(int copyID, int mask);
7770
42c1a4e63d12 commit https://github.com/vim/vim/commit/d04a020a8a8d7a438b091d49218c438880beb50c
Christian Brabandt <cb@256bit.org>
parents: 7743
diff changeset
9 void channel_gui_register_all(void);
8210
b717dae2f26d commit https://github.com/vim/vim/commit/4e221c99e85ed40c98892068a01270b9e7492d98
Christian Brabandt <cb@256bit.org>
parents: 8157
diff changeset
10 channel_T *channel_open(char *hostname, int port_in, int waittime, void (*nb_close_cb)(void));
8498
42277980a76d commit https://github.com/vim/vim/commit/8e2c942ce49f2555d7dc2088cf3aa856820c5e32
Christian Brabandt <cb@256bit.org>
parents: 8491
diff changeset
11 channel_T *channel_open_func(typval_T *argvars);
8059
19304db153bc commit https://github.com/vim/vim/commit/d807036d10615b960c814ef3890ecad335b57f56
Christian Brabandt <cb@256bit.org>
parents: 8049
diff changeset
12 void channel_set_pipes(channel_T *channel, sock_T in, sock_T out, sock_T err);
8386
3b9a306724ec commit https://github.com/vim/vim/commit/014069a7ac51557e531eb3c8b94e36f2193f6c21
Christian Brabandt <cb@256bit.org>
parents: 8318
diff changeset
13 void channel_set_job(channel_T *channel, job_T *job, jobopt_T *options);
8210
b717dae2f26d commit https://github.com/vim/vim/commit/4e221c99e85ed40c98892068a01270b9e7492d98
Christian Brabandt <cb@256bit.org>
parents: 8157
diff changeset
14 void channel_set_options(channel_T *channel, jobopt_T *opt);
16872
a836d122231a patch 8.1.1437: code to handle callbacks is duplicated
Bram Moolenaar <Bram@vim.org>
parents: 15454
diff changeset
15 void channel_set_req_callback(channel_T *channel, ch_part_T part, callback_T *callback, int id);
9087
d4606ae170aa commit https://github.com/vim/vim/commit/e0f76d00979c972329f6c371463a20da61ccad65
Christian Brabandt <cb@256bit.org>
parents: 9058
diff changeset
16 void channel_buffer_free(buf_T *buf);
8761
f8707ec9efe4 commit https://github.com/vim/vim/commit/8b877ac38e96424a08a8b8eb713ef4b3cf0064be
Christian Brabandt <cb@256bit.org>
parents: 8669
diff changeset
17 void channel_write_any_lines(void);
8422
5d2c84be23b5 commit https://github.com/vim/vim/commit/99ef06296f3c37490511c03786a2c8672e015c56
Christian Brabandt <cb@256bit.org>
parents: 8386
diff changeset
18 void channel_write_new_lines(buf_T *buf);
10259
a09db7a4afe0 commit https://github.com/vim/vim/commit/dc0ccaee68ca24d10050117fbec757ad33590a17
Christian Brabandt <cb@256bit.org>
parents: 10240
diff changeset
19 readq_T *channel_peek(channel_T *channel, ch_part_T part);
9246
6ee88fa405b3 commit https://github.com/vim/vim/commit/5f1032d2a55b9417a0a6fa225e35089c98a5a419
Christian Brabandt <cb@256bit.org>
parents: 9215
diff changeset
20 char_u *channel_first_nl(readq_T *node);
15454
1d2b5c016f17 patch 8.1.0735: cannot handle binary data
Bram Moolenaar <Bram@vim.org>
parents: 15160
diff changeset
21 char_u *channel_get(channel_T *channel, ch_part_T part, int *outlen);
10259
a09db7a4afe0 commit https://github.com/vim/vim/commit/dc0ccaee68ca24d10050117fbec757ad33590a17
Christian Brabandt <cb@256bit.org>
parents: 10240
diff changeset
22 void channel_consume(channel_T *channel, ch_part_T part, int len);
a09db7a4afe0 commit https://github.com/vim/vim/commit/dc0ccaee68ca24d10050117fbec757ad33590a17
Christian Brabandt <cb@256bit.org>
parents: 10240
diff changeset
23 int channel_collapse(channel_T *channel, ch_part_T part, int want_nl);
8041
c6443e78cf2d commit https://github.com/vim/vim/commit/7707344ddec9069b495b2a5ed41f2104466fc88b
Christian Brabandt <cb@256bit.org>
parents: 8031
diff changeset
24 int channel_can_write_to(channel_T *channel);
c6443e78cf2d commit https://github.com/vim/vim/commit/7707344ddec9069b495b2a5ed41f2104466fc88b
Christian Brabandt <cb@256bit.org>
parents: 8031
diff changeset
25 int channel_is_open(channel_T *channel);
10422
e664ee056a84 commit https://github.com/vim/vim/commit/4b785f69c0616dba5d3f38e8ce4b5398cec89407
Christian Brabandt <cb@256bit.org>
parents: 10418
diff changeset
26 int channel_has_readahead(channel_T *channel, ch_part_T part);
10233
d709622a18c9 commit https://github.com/vim/vim/commit/7ef3810d28b7ab2edbfcafab3fe8ad8bc2c2f138
Christian Brabandt <cb@256bit.org>
parents: 10054
diff changeset
27 char *channel_status(channel_T *channel, int req_part);
8669
06848fe9c816 commit https://github.com/vim/vim/commit/03602ec28ed25739e88b2c835adb0662d3720bb2
Christian Brabandt <cb@256bit.org>
parents: 8667
diff changeset
28 void channel_info(channel_T *channel, dict_T *dict);
8240
60586ce747c4 commit https://github.com/vim/vim/commit/8b374215ccd35003b95ba1df8f12e03bf8a8adc3
Christian Brabandt <cb@256bit.org>
parents: 8210
diff changeset
29 void channel_close(channel_T *channel, int invoke_close_cb);
10054
d4b7232fc63a commit https://github.com/vim/vim/commit/0874a83e9be1b39fdb217f02b427bf1d6133a4d8
Christian Brabandt <cb@256bit.org>
parents: 9434
diff changeset
30 void channel_close_in(channel_T *channel);
8041
c6443e78cf2d commit https://github.com/vim/vim/commit/7707344ddec9069b495b2a5ed41f2104466fc88b
Christian Brabandt <cb@256bit.org>
parents: 8031
diff changeset
31 void channel_clear(channel_T *channel);
c6443e78cf2d commit https://github.com/vim/vim/commit/7707344ddec9069b495b2a5ed41f2104466fc88b
Christian Brabandt <cb@256bit.org>
parents: 8031
diff changeset
32 void channel_free_all(void);
15454
1d2b5c016f17 patch 8.1.0735: cannot handle binary data
Bram Moolenaar <Bram@vim.org>
parents: 15160
diff changeset
33 void common_channel_read(typval_T *argvars, typval_T *rettv, int raw, int blob);
10259
a09db7a4afe0 commit https://github.com/vim/vim/commit/dc0ccaee68ca24d10050117fbec757ad33590a17
Christian Brabandt <cb@256bit.org>
parents: 10240
diff changeset
34 channel_T *channel_fd2channel(sock_T fd, ch_part_T *partp);
12240
24abce52ad20 patch 8.0.1000: cannot open a terminal without running a job in it
Christian Brabandt <cb@256bit.org>
parents: 12154
diff changeset
35 void channel_handle_events(int only_keep_open);
12250
ac8b2f9c1409 patch 8.0.1005: terminal without job updates slowly in GUI
Christian Brabandt <cb@256bit.org>
parents: 12240
diff changeset
36 int channel_any_keep_open(void);
12154
71e10b81226d patch 8.0.0957: a terminal job can deadlock when sending many keys
Christian Brabandt <cb@256bit.org>
parents: 12096
diff changeset
37 void channel_set_nonblock(channel_T *channel, ch_part_T part);
12240
24abce52ad20 patch 8.0.1000: cannot open a terminal without running a job in it
Christian Brabandt <cb@256bit.org>
parents: 12154
diff changeset
38 int channel_send(channel_T *channel, ch_part_T part, char_u *buf_arg, int len_arg, char *fun);
8498
42277980a76d commit https://github.com/vim/vim/commit/8e2c942ce49f2555d7dc2088cf3aa856820c5e32
Christian Brabandt <cb@256bit.org>
parents: 8491
diff changeset
39 void ch_expr_common(typval_T *argvars, typval_T *rettv, int eval);
42277980a76d commit https://github.com/vim/vim/commit/8e2c942ce49f2555d7dc2088cf3aa856820c5e32
Christian Brabandt <cb@256bit.org>
parents: 8491
diff changeset
40 void ch_raw_common(typval_T *argvars, typval_T *rettv, int eval);
12584
f28067b83dec patch 8.0.1170: using termdebug results in 100% CPU time
Christian Brabandt <cb@256bit.org>
parents: 12250
diff changeset
41 int channel_poll_setup(int nfd_in, void *fds_in, int *towait);
7743
6069f43cea4e commit https://github.com/vim/vim/commit/e0874f8cbcddfcf9965a85ba35199964efb1d01a
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
42 int channel_poll_check(int ret_in, void *fds_in);
12584
f28067b83dec patch 8.0.1170: using termdebug results in 100% CPU time
Christian Brabandt <cb@256bit.org>
parents: 12250
diff changeset
43 int channel_select_setup(int maxfd_in, void *rfds_in, void *wfds_in, struct timeval *tv, struct timeval **tvp);
8761
f8707ec9efe4 commit https://github.com/vim/vim/commit/8b877ac38e96424a08a8b8eb713ef4b3cf0064be
Christian Brabandt <cb@256bit.org>
parents: 8669
diff changeset
44 int channel_select_check(int ret_in, void *rfds_in, void *wfds_in);
7899
93c61501c2cf commit https://github.com/vim/vim/commit/d7ece1008ee6173afda6d173bed486ae79c1c38a
Christian Brabandt <cb@256bit.org>
parents: 7868
diff changeset
45 int channel_parse_messages(void);
10418
56cb9538386c commit https://github.com/vim/vim/commit/8a8199e4a1814b10630a770165502abb1121cd1b
Christian Brabandt <cb@256bit.org>
parents: 10259
diff changeset
46 int channel_any_readahead(void);
7931
2679e636e862 commit https://github.com/vim/vim/commit/4b6a6dcbe7bd13170c4884cc17acb1eac2c633d1
Christian Brabandt <cb@256bit.org>
parents: 7899
diff changeset
47 int set_ref_in_channel(int copyID);
10259
a09db7a4afe0 commit https://github.com/vim/vim/commit/dc0ccaee68ca24d10050117fbec757ad33590a17
Christian Brabandt <cb@256bit.org>
parents: 10240
diff changeset
48 ch_part_T channel_part_send(channel_T *channel);
a09db7a4afe0 commit https://github.com/vim/vim/commit/dc0ccaee68ca24d10050117fbec757ad33590a17
Christian Brabandt <cb@256bit.org>
parents: 10240
diff changeset
49 ch_part_T channel_part_read(channel_T *channel);
a09db7a4afe0 commit https://github.com/vim/vim/commit/dc0ccaee68ca24d10050117fbec757ad33590a17
Christian Brabandt <cb@256bit.org>
parents: 10240
diff changeset
50 ch_mode_T channel_get_mode(channel_T *channel, ch_part_T part);
a09db7a4afe0 commit https://github.com/vim/vim/commit/dc0ccaee68ca24d10050117fbec757ad33590a17
Christian Brabandt <cb@256bit.org>
parents: 10240
diff changeset
51 int channel_get_timeout(channel_T *channel, ch_part_T part);
8498
42277980a76d commit https://github.com/vim/vim/commit/8e2c942ce49f2555d7dc2088cf3aa856820c5e32
Christian Brabandt <cb@256bit.org>
parents: 8491
diff changeset
52 void clear_job_options(jobopt_T *opt);
8859
03250bc0c63a commit https://github.com/vim/vim/commit/0e4c1de5560c7f8b4cae539ec8cff0949daba3fc
Christian Brabandt <cb@256bit.org>
parents: 8761
diff changeset
53 void free_job_options(jobopt_T *opt);
12056
0498547dace0 patch 8.0.0908: cannot set terminal size with options
Christian Brabandt <cb@256bit.org>
parents: 11937
diff changeset
54 int get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2);
10259
a09db7a4afe0 commit https://github.com/vim/vim/commit/dc0ccaee68ca24d10050117fbec757ad33590a17
Christian Brabandt <cb@256bit.org>
parents: 10240
diff changeset
55 channel_T *get_channel_arg(typval_T *tv, int check_open, int reading, ch_part_T part);
12056
0498547dace0 patch 8.0.0908: cannot set terminal size with options
Christian Brabandt <cb@256bit.org>
parents: 11937
diff changeset
56 void job_free_all(void);
13847
fa0dcdaec6a3 patch 8.0.1795: lose contact with jobs when :gui forks
Christian Brabandt <cb@256bit.org>
parents: 13740
diff changeset
57 int job_any_running(void);
12096
0a61213afdd2 patch 8.0.0928: MS-Windows: passing arglist to job has escaping problems
Christian Brabandt <cb@256bit.org>
parents: 12056
diff changeset
58 int win32_build_cmd(list_T *l, garray_T *gap);
11719
13ecb3e64399 patch 8.0.0742: terminal feature does not work on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11690
diff changeset
59 void job_cleanup(job_T *job);
9058
87c2e43a4a12 commit https://github.com/vim/vim/commit/b8d4905592fc26fcd09180d7d6bfefd899f2f6c6
Christian Brabandt <cb@256bit.org>
parents: 9007
diff changeset
60 int set_ref_in_job(int copyID);
8498
42277980a76d commit https://github.com/vim/vim/commit/8e2c942ce49f2555d7dc2088cf3aa856820c5e32
Christian Brabandt <cb@256bit.org>
parents: 8491
diff changeset
61 void job_unref(job_T *job);
8863
e1b84109506a commit https://github.com/vim/vim/commit/107e1eef1df3b786ad3ad49fbdb9e058649303b5
Christian Brabandt <cb@256bit.org>
parents: 8859
diff changeset
62 int free_unused_jobs_contents(int copyID, int mask);
e1b84109506a commit https://github.com/vim/vim/commit/107e1eef1df3b786ad3ad49fbdb9e058649303b5
Christian Brabandt <cb@256bit.org>
parents: 8859
diff changeset
63 void free_unused_jobs(int copyID, int mask);
12056
0498547dace0 patch 8.0.0908: cannot set terminal size with options
Christian Brabandt <cb@256bit.org>
parents: 11937
diff changeset
64 job_T *job_alloc(void);
8498
42277980a76d commit https://github.com/vim/vim/commit/8e2c942ce49f2555d7dc2088cf3aa856820c5e32
Christian Brabandt <cb@256bit.org>
parents: 8491
diff changeset
65 void job_set_options(job_T *job, jobopt_T *opt);
42277980a76d commit https://github.com/vim/vim/commit/8e2c942ce49f2555d7dc2088cf3aa856820c5e32
Christian Brabandt <cb@256bit.org>
parents: 8491
diff changeset
66 void job_stop_on_exit(void);
9189
4b55d8e162d4 commit https://github.com/vim/vim/commit/cf7c11a9479ba7ce775b86c7a846fae48321d260
Christian Brabandt <cb@256bit.org>
parents: 9143
diff changeset
67 int has_pending_job(void);
15160
ec67c6b8ef12 patch 8.1.0590: when a job ends the closed channels are not handled
Bram Moolenaar <Bram@vim.org>
parents: 14103
diff changeset
68 int job_check_ended(void);
14065
e271ca6f32f9 patch 8.1.0050: $VIM_TERMINAL is also set when not in a terminal window
Christian Brabandt <cb@256bit.org>
parents: 14019
diff changeset
69 job_T *job_start(typval_T *argvars, char **argv_arg, jobopt_T *opt_arg, int is_terminal);
8498
42277980a76d commit https://github.com/vim/vim/commit/8e2c942ce49f2555d7dc2088cf3aa856820c5e32
Christian Brabandt <cb@256bit.org>
parents: 8491
diff changeset
70 char *job_status(job_T *job);
8502
ee5cb2e9ed5a commit https://github.com/vim/vim/commit/8950a563b306ce76f259573d91c2ddccdf52e32e
Christian Brabandt <cb@256bit.org>
parents: 8498
diff changeset
71 void job_info(job_T *job, dict_T *dict);
13740
f309afff6f25 patch 8.0.1742: cannot get a list of all the jobs
Christian Brabandt <cb@256bit.org>
parents: 13608
diff changeset
72 void job_info_all(list_T *l);
11690
ce434212d682 patch 8.0.0728: the terminal structure is never freed
Christian Brabandt <cb@256bit.org>
parents: 11670
diff changeset
73 int job_stop(job_T *job, typval_T *argvars, char *type);
14019
dc67449d648c patch 8.1.0027: difficult to make a plugin that feeds a line to a job
Christian Brabandt <cb@256bit.org>
parents: 13847
diff changeset
74 void invoke_prompt_callback(void);
14103
d053ec57d886 patch 8.1.0069: cannot handle pressing CTRL-C in a prompt buffer
Christian Brabandt <cb@256bit.org>
parents: 14065
diff changeset
75 int invoke_prompt_interrupt(void);
7743
6069f43cea4e commit https://github.com/vim/vim/commit/e0874f8cbcddfcf9965a85ba35199964efb1d01a
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
76 /* vim: set ft=c : */