blob: 52bced3b93b2106d67b8978fd2651149ecdc7328 [file] [log] [blame]
Bram Moolenaare0874f82016-01-24 20:36:41 +01001/* channel.c */
Bram Moolenaar8e2c9422016-03-12 13:43:33 +01002void ch_logfile(char_u *fname, char_u *opt);
Bram Moolenaar81661fb2016-02-18 22:23:34 +01003int ch_log_active(void);
4void ch_log(channel_T *ch, char *msg);
5void ch_logs(channel_T *ch, char *msg, char *name);
Bram Moolenaar77073442016-02-13 23:23:53 +01006channel_T *add_channel(void);
Bram Moolenaar8e2c9422016-03-12 13:43:33 +01007int channel_unref(channel_T *channel);
Bram Moolenaar107e1ee2016-04-08 17:07:19 +02008int free_unused_channels_contents(int copyID, int mask);
9void free_unused_channels(int copyID, int mask);
Bram Moolenaard04a0202016-01-26 23:30:18 +010010void channel_gui_register_all(void);
Bram Moolenaar4e221c92016-02-23 13:20:22 +010011channel_T *channel_open(char *hostname, int port_in, int waittime, void (*nb_close_cb)(void));
Bram Moolenaar8e2c9422016-03-12 13:43:33 +010012channel_T *channel_open_func(typval_T *argvars);
Bram Moolenaard8070362016-02-15 21:56:54 +010013void channel_set_pipes(channel_T *channel, sock_T in, sock_T out, sock_T err);
Bram Moolenaar014069a2016-03-03 22:51:40 +010014void channel_set_job(channel_T *channel, job_T *job, jobopt_T *options);
Bram Moolenaar4e221c92016-02-23 13:20:22 +010015void channel_set_options(channel_T *channel, jobopt_T *opt);
Bram Moolenaar39afdea2016-03-14 23:27:29 +010016void channel_set_req_callback(channel_T *channel, int part, char_u *callback, partial_T *partial, int id);
Bram Moolenaare0f76d02016-05-09 20:38:53 +020017void channel_buffer_free(buf_T *buf);
Bram Moolenaar8b877ac2016-03-28 19:16:20 +020018void channel_write_any_lines(void);
Bram Moolenaar99ef0622016-03-06 20:22:25 +010019void channel_write_new_lines(buf_T *buf);
Bram Moolenaar42d38a22016-02-20 18:18:59 +010020char_u *channel_get(channel_T *channel, int part);
Bram Moolenaar9ed96ef2016-06-04 17:17:11 +020021int channel_collapse(channel_T *channel, int part, int want_nl);
Bram Moolenaar77073442016-02-13 23:23:53 +010022int channel_can_write_to(channel_T *channel);
23int channel_is_open(channel_T *channel);
24char *channel_status(channel_T *channel);
Bram Moolenaar03602ec2016-03-20 20:57:45 +010025void channel_info(channel_T *channel, dict_T *dict);
Bram Moolenaar8b374212016-02-24 20:43:06 +010026void channel_close(channel_T *channel, int invoke_close_cb);
Bram Moolenaar42d38a22016-02-20 18:18:59 +010027char_u *channel_peek(channel_T *channel, int part);
Bram Moolenaar77073442016-02-13 23:23:53 +010028void channel_clear(channel_T *channel);
29void channel_free_all(void);
Bram Moolenaar6f3a5442016-02-20 19:56:13 +010030char_u *channel_read_block(channel_T *channel, int part, int timeout);
Bram Moolenaare9d6a292016-03-20 19:31:33 +010031int channel_read_json_block(channel_T *channel, int part, int timeout_arg, int id, typval_T **rettv);
Bram Moolenaar8e2c9422016-03-12 13:43:33 +010032void common_channel_read(typval_T *argvars, typval_T *rettv, int raw);
Bram Moolenaar6f3a5442016-02-20 19:56:13 +010033channel_T *channel_fd2channel(sock_T fd, int *partp);
Bram Moolenaared5a78e2016-02-19 21:05:03 +010034void channel_handle_events(void);
Bram Moolenaar42d38a22016-02-20 18:18:59 +010035int channel_send(channel_T *channel, int part, char_u *buf, char *fun);
Bram Moolenaar8e2c9422016-03-12 13:43:33 +010036channel_T *send_common(typval_T *argvars, char_u *text, int id, int eval, jobopt_T *opt, char *fun, int *part_read);
37void ch_expr_common(typval_T *argvars, typval_T *rettv, int eval);
38void ch_raw_common(typval_T *argvars, typval_T *rettv, int eval);
Bram Moolenaare0874f82016-01-24 20:36:41 +010039int channel_poll_setup(int nfd_in, void *fds_in);
40int channel_poll_check(int ret_in, void *fds_in);
Bram Moolenaar8b877ac2016-03-28 19:16:20 +020041int channel_select_setup(int maxfd_in, void *rfds_in, void *wfds_in);
42int channel_select_check(int ret_in, void *rfds_in, void *wfds_in);
Bram Moolenaard7ece102016-02-02 23:23:02 +010043int channel_parse_messages(void);
Bram Moolenaar4b6a6dc2016-02-04 22:49:49 +010044int set_ref_in_channel(int copyID);
Bram Moolenaar42d38a22016-02-20 18:18:59 +010045int channel_part_send(channel_T *channel);
46int channel_part_read(channel_T *channel);
47ch_mode_T channel_get_mode(channel_T *channel, int part);
Bram Moolenaar6f3a5442016-02-20 19:56:13 +010048int channel_get_timeout(channel_T *channel, int part);
Bram Moolenaar8e2c9422016-03-12 13:43:33 +010049void clear_job_options(jobopt_T *opt);
Bram Moolenaar0e4c1de2016-04-07 21:40:38 +020050void free_job_options(jobopt_T *opt);
Bram Moolenaar8e2c9422016-03-12 13:43:33 +010051int get_job_options(typval_T *tv, jobopt_T *opt, int supported);
Bram Moolenaar437905c2016-04-26 19:01:05 +020052channel_T *get_channel_arg(typval_T *tv, int check_open, int reading, int part);
Bram Moolenaar655da312016-05-28 22:22:34 +020053void job_free_all(void);
Bram Moolenaarb8d49052016-05-01 14:22:16 +020054int set_ref_in_job(int copyID);
Bram Moolenaar8e2c9422016-03-12 13:43:33 +010055void job_unref(job_T *job);
Bram Moolenaar107e1ee2016-04-08 17:07:19 +020056int free_unused_jobs_contents(int copyID, int mask);
57void free_unused_jobs(int copyID, int mask);
Bram Moolenaar8e2c9422016-03-12 13:43:33 +010058void job_set_options(job_T *job, jobopt_T *opt);
59void job_stop_on_exit(void);
Bram Moolenaarcf7c11a2016-06-02 20:05:26 +020060int has_pending_job(void);
Bram Moolenaar8e2c9422016-03-12 13:43:33 +010061void job_check_ended(void);
62job_T *job_start(typval_T *argvars);
63char *job_status(job_T *job);
Bram Moolenaar8950a562016-03-12 15:22:55 +010064void job_info(job_T *job, dict_T *dict);
Bram Moolenaar8e2c9422016-03-12 13:43:33 +010065int job_stop(job_T *job, typval_T *argvars);
Bram Moolenaare0874f82016-01-24 20:36:41 +010066/* vim: set ft=c : */