Junio C Hamano | 47a5918 | 2013-07-08 13:56:53 -0700 | [diff] [blame] | 1 | #ifndef CONNECT_H |
| 2 | #define CONNECT_H |
| 3 | |
Junio C Hamano | ca5e396 | 2018-07-09 14:35:39 -0700 | [diff] [blame] | 4 | #include "protocol.h" |
Beat Bolli | 2e75c8e | 2018-07-09 21:25:32 +0200 | [diff] [blame] | 5 | |
Junio C Hamano | 47a5918 | 2013-07-08 13:56:53 -0700 | [diff] [blame] | 6 | #define CONNECT_VERBOSE (1u << 0) |
Torsten Bögershausen | 5610b7c | 2013-11-28 20:49:17 +0100 | [diff] [blame] | 7 | #define CONNECT_DIAG_URL (1u << 1) |
Eric Wong | c915f11 | 2016-02-03 04:09:14 +0000 | [diff] [blame] | 8 | #define CONNECT_IPV4 (1u << 2) |
| 9 | #define CONNECT_IPV6 (1u << 3) |
Jeff King | eaa0fd6 | 2023-03-17 15:08:51 -0400 | [diff] [blame] | 10 | struct child_process *git_connect(int fd[2], const char *url, const char *name, const char *prog, int flags); |
Denton Liu | 5545442 | 2019-04-29 04:28:14 -0400 | [diff] [blame] | 11 | int finish_connect(struct child_process *conn); |
| 12 | int git_connection_is_socket(struct child_process *conn); |
| 13 | int server_supports(const char *feature); |
| 14 | int parse_feature_request(const char *features, const char *feature); |
Jeff King | 7ce4c8f | 2023-04-14 17:25:20 -0400 | [diff] [blame] | 15 | const char *server_feature_value(const char *feature, size_t *len_ret); |
Denton Liu | 5545442 | 2019-04-29 04:28:14 -0400 | [diff] [blame] | 16 | int url_is_local_not_ssh(const char *url); |
Junio C Hamano | 47a5918 | 2013-07-08 13:56:53 -0700 | [diff] [blame] | 17 | |
Brandon Williams | ad6ac12 | 2018-03-14 11:31:45 -0700 | [diff] [blame] | 18 | struct packet_reader; |
Denton Liu | 5545442 | 2019-04-29 04:28:14 -0400 | [diff] [blame] | 19 | enum protocol_version discover_version(struct packet_reader *reader); |
Brandon Williams | ad6ac12 | 2018-03-14 11:31:45 -0700 | [diff] [blame] | 20 | |
brian m. carlson | 122037c | 2020-05-25 19:58:56 +0000 | [diff] [blame] | 21 | int server_supports_hash(const char *desired, int *feature_supported); |
Jeff King | 7ce4c8f | 2023-04-14 17:25:20 -0400 | [diff] [blame] | 22 | const char *parse_feature_value(const char *feature_list, const char *feature, size_t *lenp, size_t *offset); |
Jeff King | a31cfe3 | 2022-12-13 05:52:58 -0500 | [diff] [blame] | 23 | int server_supports_v2(const char *c); |
| 24 | void ensure_server_supports_v2(const char *c); |
brian m. carlson | 1349ffe | 2020-05-25 19:58:53 +0000 | [diff] [blame] | 25 | int server_feature_v2(const char *c, const char **v); |
Denton Liu | 5545442 | 2019-04-29 04:28:14 -0400 | [diff] [blame] | 26 | int server_supports_feature(const char *c, const char *feature, |
Denton Liu | ad6dad0 | 2019-04-29 04:28:23 -0400 | [diff] [blame] | 27 | int die_on_error); |
Brandon Williams | e52449b | 2018-03-15 10:31:21 -0700 | [diff] [blame] | 28 | |
Denton Liu | b0df0c1 | 2020-05-19 06:54:00 -0400 | [diff] [blame] | 29 | void check_stateless_delimiter(int stateless_rpc, |
| 30 | struct packet_reader *reader, |
| 31 | const char *error); |
| 32 | |
Junio C Hamano | 47a5918 | 2013-07-08 13:56:53 -0700 | [diff] [blame] | 33 | #endif |