Lines Matching refs:part
64 static void channel_read(channel_T *channel, ch_part_T part, char *func);
65 static ch_mode_T channel_get_mode(channel_T *channel, ch_part_T part);
66 static int channel_get_timeout(channel_T *channel, ch_part_T part);
188 ch_log_lead(const char *what, channel_T *ch, ch_part_T part) in ch_log_lead() argument
201 if (part < PART_COUNT) in ch_log_lead()
203 what, ch->ch_id, part_names[part]); in ch_log_lead()
310 ch_part_T part; in add_channel() local
319 for (part = PART_SOCK; part < PART_COUNT; ++part) in add_channel()
321 channel->ch_part[part].ch_fd = INVALID_FD; in add_channel()
323 channel->ch_part[part].ch_inputHandler = (XtInputId)NULL; in add_channel()
326 channel->ch_part[part].ch_inputHandler = 0; in add_channel()
328 channel->ch_part[part].ch_timeout = 2000; in add_channel()
525 ch_part_T part; in channel_fd2channel() local
530 for (part = PART_SOCK; part < PART_IN; ++part) in channel_fd2channel()
531 if (channel->ch_part[part].ch_fd == fd) in channel_fd2channel()
533 *partp = part; in channel_fd2channel()
544 ch_part_T part; in channel_read_fd() local
546 channel = channel_fd2channel(fd, &part); in channel_read_fd()
550 channel_read(channel, part, "channel_read_fd"); in channel_read_fd()
590 channel_gui_register_one(channel_T *channel, ch_part_T part UNUSED) in channel_gui_register_one()
602 if (channel->ch_part[part].ch_inputHandler == (XtInputId)NULL) in channel_gui_register_one()
605 part_names[part], channel->ch_part[part].ch_fd); in channel_gui_register_one()
607 channel->ch_part[part].ch_inputHandler = XtAppAddInput( in channel_gui_register_one()
609 channel->ch_part[part].ch_fd, in channel_gui_register_one()
612 (XtPointer)(long)channel->ch_part[part].ch_fd); in channel_gui_register_one()
618 if (channel->ch_part[part].ch_inputHandler == 0) in channel_gui_register_one()
621 part_names[part], channel->ch_part[part].ch_fd); in channel_gui_register_one()
624 (gint)channel->ch_part[part].ch_fd); in channel_gui_register_one()
626 channel->ch_part[part].ch_inputHandler = g_io_add_watch( in channel_gui_register_one()
630 GINT_TO_POINTER(channel->ch_part[part].ch_fd)); in channel_gui_register_one()
634 channel->ch_part[part].ch_inputHandler = gdk_input_add( in channel_gui_register_one()
635 (gint)channel->ch_part[part].ch_fd, in channel_gui_register_one()
639 (gpointer)(long)channel->ch_part[part].ch_fd); in channel_gui_register_one()
674 channel_gui_unregister_one(channel_T *channel UNUSED, ch_part_T part UNUSED) in channel_gui_unregister_one()
677 if (channel->ch_part[part].ch_inputHandler != (XtInputId)NULL) in channel_gui_unregister_one()
679 ch_log(channel, "Unregistering part %s", part_names[part]); in channel_gui_unregister_one()
680 XtRemoveInput(channel->ch_part[part].ch_inputHandler); in channel_gui_unregister_one()
681 channel->ch_part[part].ch_inputHandler = (XtInputId)NULL; in channel_gui_unregister_one()
685 if (channel->ch_part[part].ch_inputHandler != 0) in channel_gui_unregister_one()
687 ch_log(channel, "Unregistering part %s", part_names[part]); in channel_gui_unregister_one()
689 g_source_remove(channel->ch_part[part].ch_inputHandler); in channel_gui_unregister_one()
691 gdk_input_remove(channel->ch_part[part].ch_inputHandler); in channel_gui_unregister_one()
693 channel->ch_part[part].ch_inputHandler = 0; in channel_gui_unregister_one()
702 ch_part_T part; in channel_gui_unregister() local
704 for (part = PART_SOCK; part < PART_IN; ++part) in channel_gui_unregister()
705 channel_gui_unregister_one(channel, part); in channel_gui_unregister()
1167 ch_part_T part; in channel_set_options() local
1170 for (part = PART_SOCK; part < PART_COUNT; ++part) in channel_set_options()
1171 channel->ch_part[part].ch_mode = opt->jo_mode; in channel_set_options()
1181 for (part = PART_SOCK; part < PART_COUNT; ++part) in channel_set_options()
1182 channel->ch_part[part].ch_timeout = opt->jo_timeout; in channel_set_options()
1384 ch_close_part(channel_T *channel, ch_part_T part) in ch_close_part() argument
1386 sock_T *fd = &channel->ch_part[part].ch_fd; in ch_close_part()
1390 if (part == PART_SOCK) in ch_close_part()
1396 if ((part == PART_IN || channel->CH_IN_FD != *fd) in ch_close_part()
1397 && (part == PART_OUT || channel->CH_OUT_FD != *fd) in ch_close_part()
1398 && (part == PART_ERR || channel->CH_ERR_FD != *fd)) in ch_close_part()
1410 channel->ch_to_be_closed &= ~(1U << part); in ch_close_part()
1501 ch_part_T part, in channel_set_req_callback() argument
1505 cbq_T *head = &channel->ch_part[part].ch_cb_head; in channel_set_req_callback()
1682 ch_part_T part; in channel_buffer_free() local
1685 for (part = PART_SOCK; part < PART_COUNT; ++part) in channel_buffer_free()
1687 chanpart_T *ch_part = &channel->ch_part[part]; in channel_buffer_free()
1692 part_names[part]); in channel_buffer_free()
1800 channel_peek(channel_T *channel, ch_part_T part) in channel_peek() argument
1802 readq_T *head = &channel->ch_part[part].ch_head; in channel_peek()
1830 channel_get(channel_T *channel, ch_part_T part, int *outlen) in channel_get() argument
1832 readq_T *head = &channel->ch_part[part].ch_head; in channel_get()
1856 channel_get_all(channel_T *channel, ch_part_T part, int *outlen) in channel_get_all() argument
1858 readq_T *head = &channel->ch_part[part].ch_head; in channel_get_all()
1881 p = channel_get(channel, part, NULL); in channel_get_all()
1928 channel_consume(channel_T *channel, ch_part_T part, int len) in channel_consume() argument
1930 readq_T *head = &channel->ch_part[part].ch_head; in channel_consume()
1945 channel_collapse(channel_T *channel, ch_part_T part, int want_nl) in channel_collapse() argument
1947 readq_T *head = &channel->ch_part[part].ch_head; in channel_collapse()
2006 channel_save(channel_T *channel, ch_part_T part, char_u *buf, int len, in channel_save() argument
2010 readq_T *head = &channel->ch_part[part].ch_head; in channel_save()
2026 if (channel->ch_part[part].ch_mode == MODE_NL) in channel_save()
2068 ch_log_lead(lead, channel, part); in channel_save()
2084 ch_part_T part = reader->js_cookie_arg; in channel_fill() local
2085 char_u *next = channel_get(channel, part, NULL); in channel_fill()
2121 channel_parse_json(channel_T *channel, ch_part_T part) in channel_parse_json() argument
2126 chanpart_T *chanpart = &channel->ch_part[part]; in channel_parse_json()
2131 if (channel_peek(channel, part) == NULL) in channel_parse_json()
2134 reader.js_buf = channel_get(channel, part, NULL); in channel_parse_json()
2138 reader.js_cookie_arg = part; in channel_parse_json()
2255 channel_save(channel, part, reader.js_buf + reader.js_used, in channel_parse_json()
2369 ch_part_T part, in channel_get_json() argument
2374 jsonq_T *head = &channel->ch_part[part].ch_json_head; in channel_get_json()
2390 &channel->ch_part[part], tv->vval.v_number))))) in channel_get_json()
2409 channel_push_json(channel_T *channel, ch_part_T part, typval_T *rettv) in channel_push_json() argument
2411 jsonq_T *head = &channel->ch_part[part].ch_json_head; in channel_push_json()
2471 channel_exe_cmd(channel_T *channel, ch_part_T part, typval_T *argv) in channel_exe_cmd() argument
2475 int options = channel->ch_part[part].ch_mode == MODE_JS ? JSON_JS : 0; in channel_exe_cmd()
2586 part == PART_SOCK ? PART_SOCK : PART_IN, in channel_exe_cmd()
2627 append_to_buffer(buf_T *buffer, char_u *msg, channel_T *channel, ch_part_T part) in append_to_buffer() argument
2632 chanpart_T *ch_part = &channel->ch_part[part]; in append_to_buffer()
2736 drop_messages(channel_T *channel, ch_part_T part) in drop_messages() argument
2740 while ((msg = channel_get(channel, part, NULL)) != NULL) in drop_messages()
2753 may_invoke_callback(channel_T *channel, ch_part_T part) in may_invoke_callback() argument
2759 chanpart_T *ch_part = &channel->ch_part[part]; in may_invoke_callback()
2787 ch_log(channel, "%s buffer has been wiped out", part_names[part]); in may_invoke_callback()
2798 if (channel_get_json(channel, part, -1, FALSE, &listtv) == FAIL) in may_invoke_callback()
2801 channel_parse_json(channel, part); in may_invoke_callback()
2802 if (channel_get_json(channel, part, -1, FALSE, &listtv) == FAIL) in may_invoke_callback()
2816 channel_exe_cmd(channel, part, argv); in may_invoke_callback()
2830 else if (channel_peek(channel, part) == NULL) in may_invoke_callback()
2843 drop_messages(channel, part); in may_invoke_callback()
2857 node = channel_peek(channel, part); in may_invoke_callback()
2861 if (channel_collapse(channel, part, TRUE) == FAIL) in may_invoke_callback()
2879 msg = channel_get(channel, part, NULL); in may_invoke_callback()
2884 msg = channel_get(channel, part, NULL); in may_invoke_callback()
2892 channel_consume(channel, part, (int)(nl - buf) + 1); in may_invoke_callback()
2900 msg = channel_get_all(channel, part, NULL); in may_invoke_callback()
2927 channel_push_json(channel, part, listtv); in may_invoke_callback()
2949 append_to_buffer(buffer, msg, channel, part); in may_invoke_callback()
3006 channel_has_readahead(channel_T *channel, ch_part_T part) in channel_has_readahead() argument
3008 ch_mode_T ch_mode = channel->ch_part[part].ch_mode; in channel_has_readahead()
3012 jsonq_T *head = &channel->ch_part[part].ch_json_head; in channel_has_readahead()
3017 channel_parse_json(channel, part); in channel_has_readahead()
3021 return channel_peek(channel, part) != NULL; in channel_has_readahead()
3031 ch_part_T part; in channel_status() local
3054 for (part = PART_SOCK; part < PART_IN; ++part) in channel_status()
3055 if (channel_has_readahead(channel, part)) in channel_status()
3068 channel_part_info(channel_T *channel, dict_T *dict, char *name, ch_part_T part) in channel_part_info() argument
3070 chanpart_T *chanpart = &channel->ch_part[part]; in channel_part_info()
3083 else if (channel_has_readahead(channel, part)) in channel_part_info()
3100 if (part == PART_SOCK) in channel_part_info()
3157 ch_part_T part; in channel_close() local
3163 for (part = PART_SOCK; part < PART_IN; ++part) in channel_close()
3166 || channel->ch_part[part].ch_bufref.br_buf != NULL) in channel_close()
3173 part_names[part]); in channel_close()
3174 while (may_invoke_callback(channel, part)) in channel_close()
3207 for (part = PART_SOCK; part < PART_IN; ++part) in channel_close()
3208 drop_messages(channel, part); in channel_close()
3246 channel_clear_one(channel_T *channel, ch_part_T part) in channel_clear_one() argument
3248 chanpart_T *ch_part = &channel->ch_part[part]; in channel_clear_one()
3252 while (channel_peek(channel, part) != NULL) in channel_clear_one()
3253 vim_free(channel_get(channel, part, NULL)); in channel_clear_one()
3489 channel_T *channel, ch_part_T part, int is_err, char *func) in ch_close_part_on_error() argument
3495 ch_error(channel, msg, func, "error", part); in ch_close_part_on_error()
3497 ch_log(channel, msg, func, "EOF", part); in ch_close_part_on_error()
3517 if (part == PART_OUT || part == PART_ERR) in ch_close_part_on_error()
3519 ch_part_T other = part == PART_OUT ? PART_ERR : PART_OUT; in ch_close_part_on_error()
3521 if (channel->ch_part[part].ch_fd == channel->ch_part[other].ch_fd) in ch_close_part_on_error()
3524 ch_close_part(channel, part); in ch_close_part_on_error()
3528 channel_gui_unregister_one(channel, part); in ch_close_part_on_error()
3547 channel_read(channel_T *channel, ch_part_T part, char *func) in channel_read() argument
3555 fd = channel->ch_part[part].ch_fd; in channel_read()
3559 part_names[part]); in channel_read()
3587 channel_save(channel, part, buf, len, FALSE, "RECV "); in channel_read()
3597 ch_close_part_on_error(channel, part, (len < 0), func); in channel_read()
3616 channel_T *channel, ch_part_T part, int timeout, int raw, int *outlen) in channel_read_block() argument
3620 ch_mode_T mode = channel->ch_part[part].ch_mode; in channel_read_block()
3621 sock_T fd = channel->ch_part[part].ch_fd; in channel_read_block()
3630 node = channel_peek(channel, part); in channel_read_block()
3637 if (channel_collapse(channel, part, mode == MODE_NL) == OK) in channel_read_block()
3653 channel_read(channel, part, "channel_read_block"); in channel_read_block()
3659 msg = channel_get_all(channel, part, outlen); in channel_read_block()
3676 msg = channel_get(channel, part, NULL); in channel_read_block()
3681 msg = channel_get(channel, part, NULL); in channel_read_block()
3689 channel_consume(channel, part, (int)(nl - buf) + 1); in channel_read_block()
3719 ch_part_T part, in channel_read_json_block() argument
3727 chanpart_T *chanpart = &channel->ch_part[part]; in channel_read_json_block()
3738 more = channel_parse_json(channel, part); in channel_read_json_block()
3741 if (channel_get_json(channel, part, id, TRUE, rettv) == OK) in channel_read_json_block()
3796 channel_read(channel, part, "channel_read_json_block"); in channel_read_json_block()
3814 get_channel_arg(typval_T *tv, int check_open, int reading, ch_part_T part) in get_channel_arg() argument
3835 part != PART_COUNT ? part : channel_part_read(channel)); in get_channel_arg()
3853 ch_part_T part = PART_COUNT; in common_channel_read() local
3875 part = opt.jo_part; in common_channel_read()
3876 channel = get_channel_arg(&argvars[0], TRUE, TRUE, part); in common_channel_read()
3879 if (part == PART_COUNT) in common_channel_read()
3880 part = channel_part_read(channel); in common_channel_read()
3881 mode = channel_get_mode(channel, part); in common_channel_read()
3882 timeout = channel_get_timeout(channel, part); in common_channel_read()
3889 char_u *p = channel_read_block(channel, part, in common_channel_read()
3910 rettv->vval.v_string = channel_read_block(channel, part, in common_channel_read()
3916 channel_read_json_block(channel, part, timeout, id, &listtv); in common_channel_read()
3944 ch_part_T part; in channel_handle_events() local
3953 for (part = PART_SOCK; part < PART_IN; ++part) in channel_handle_events()
3955 fd = channel->ch_part[part].ch_fd; in channel_handle_events()
3961 channel_read(channel, part, "channel_handle_events"); in channel_handle_events()
3963 ch_close_part_on_error(channel, part, TRUE, in channel_handle_events()
3977 for (part = PART_SOCK; part < PART_COUNT; ++part) in channel_handle_events()
3978 ch_close_part(channel, part); in channel_handle_events()
4006 channel_set_nonblock(channel_T *channel, ch_part_T part) in channel_set_nonblock() argument
4008 chanpart_T *ch_part = &channel->ch_part[part]; in channel_set_nonblock()
4032 ch_part_T part, in channel_send() argument
4039 chanpart_T *ch_part = &channel->ch_part[part]; in channel_send()
4055 channel_set_nonblock(channel, part); in channel_send()
4059 ch_log_lead("SEND ", channel, part); in channel_send()
4089 if (part == PART_SOCK) in channel_send()
4383 ch_part_T part; in channel_poll_setup() local
4387 for (part = PART_SOCK; part < PART_IN; ++part) in channel_poll_setup()
4389 chanpart_T *ch_part = &channel->ch_part[part]; in channel_poll_setup()
4410 channel->ch_part[part].ch_poll_idx = -1; in channel_poll_setup()
4428 ch_part_T part; in channel_poll_check() local
4434 for (part = PART_SOCK; part < PART_IN; ++part) in channel_poll_check()
4436 idx = channel->ch_part[part].ch_poll_idx; in channel_poll_check()
4440 channel_read(channel, part, "channel_poll_check"); in channel_poll_check()
4443 else if (channel->ch_part[part].ch_fd != INVALID_FD in channel_poll_check()
4447 channel_read(channel, part, "channel_poll_check_keep_open"); in channel_poll_check()
4481 ch_part_T part; in channel_select_setup() local
4485 for (part = PART_SOCK; part < PART_IN; ++part) in channel_select_setup()
4487 sock_T fd = channel->ch_part[part].ch_fd; in channel_select_setup()
4529 ch_part_T part; in channel_select_check() local
4534 for (part = PART_SOCK; part < PART_IN; ++part) in channel_select_check()
4536 sock_T fd = channel->ch_part[part].ch_fd; in channel_select_check()
4540 channel_read(channel, part, "channel_select_check"); in channel_select_check()
4547 channel_read(channel, part, "channel_select_check_keep_open"); in channel_select_check()
4570 for (part = PART_SOCK; part < PART_COUNT; ++part) in channel_select_check()
4571 ch_close_part(channel, part); in channel_select_check()
4592 ch_part_T part = PART_SOCK; in channel_parse_messages() local
4643 part = PART_SOCK; in channel_parse_messages()
4648 if (channel->ch_part[part].ch_fd != INVALID_FD in channel_parse_messages()
4649 || channel_has_readahead(channel, part)) in channel_parse_messages()
4654 r = may_invoke_callback(channel, part); in channel_parse_messages()
4668 part = PART_SOCK; in channel_parse_messages()
4672 if (part < PART_ERR) in channel_parse_messages()
4673 ++part; in channel_parse_messages()
4677 part = PART_SOCK; in channel_parse_messages()
4701 ch_part_T part = PART_SOCK; in channel_any_readahead() local
4705 if (channel_has_readahead(channel, part)) in channel_any_readahead()
4707 if (part < PART_ERR) in channel_any_readahead()
4708 ++part; in channel_any_readahead()
4712 part = PART_SOCK; in channel_any_readahead()
4766 channel_get_mode(channel_T *channel, ch_part_T part) in channel_get_mode() argument
4770 return channel->ch_part[part].ch_mode; in channel_get_mode()
4777 channel_get_timeout(channel_T *channel, ch_part_T part) in channel_get_timeout() argument
4779 return channel->ch_part[part].ch_timeout; in channel_get_timeout()
4855 int part; in f_ch_getbufnr() local
4858 part = PART_ERR; in f_ch_getbufnr()
4860 part = PART_OUT; in f_ch_getbufnr()
4862 part = PART_IN; in f_ch_getbufnr()
4864 part = PART_SOCK; in f_ch_getbufnr()
4865 if (channel->ch_part[part].ch_bufref.br_buf != NULL) in f_ch_getbufnr()
4867 channel->ch_part[part].ch_bufref.br_buf->b_fnum; in f_ch_getbufnr()
5061 int part = -1; in f_ch_status() local
5079 part = opt.jo_part; in f_ch_status()
5082 rettv->vval.v_string = vim_strsave((char_u *)channel_status(channel, part)); in f_ch_status()