]> git.proxmox.com Git - libgit2.git/blob - src/netops.h
Merge pull request #925 from nulltoken/topic/moving-branch-updates-config
[libgit2.git] / src / netops.h
1 /*
2 * Copyright (C) 2009-2012 the libgit2 contributors
3 *
4 * This file is part of libgit2, distributed under the GNU GPL v2 with
5 * a Linking Exception. For full terms see the included COPYING file.
6 */
7 #ifndef INCLUDE_netops_h__
8 #define INCLUDE_netops_h__
9
10 #include "posix.h"
11 #include "common.h"
12
13 struct gitno_buffer {
14 char *data;
15 size_t len;
16 size_t offset;
17 GIT_SOCKET fd;
18 #ifdef GIT_SSL
19 struct gitno_ssl *ssl;
20 #endif
21 int (*recv)(gitno_buffer *buffer);
22 void *cb_data;
23 void (*packetsize_cb)(int received, void *payload);
24 void *packetsize_payload;
25 };
26
27 void gitno_buffer_setup(git_transport *t, gitno_buffer *buf, char *data, size_t len);
28 void gitno_buffer_setup_callback(git_transport *t, gitno_buffer *buf, char *data, size_t len, int (*recv)(gitno_buffer *buf), void *cb_data);
29 int gitno_recv(gitno_buffer *buf);
30 int gitno__recv(gitno_buffer *buf);
31
32 void gitno_consume(gitno_buffer *buf, const char *ptr);
33 void gitno_consume_n(gitno_buffer *buf, size_t cons);
34
35 int gitno_connect(git_transport *t, const char *host, const char *port);
36 int gitno_send(git_transport *t, const char *msg, size_t len, int flags);
37 int gitno_close(GIT_SOCKET s);
38 int gitno_ssl_teardown(git_transport *t);
39 int gitno_send_chunk_size(int s, size_t len);
40 int gitno_select_in(gitno_buffer *buf, long int sec, long int usec);
41
42 int gitno_extract_host_and_port(char **host, char **port, const char *url, const char *default_port);
43
44 #endif