1 /* 2 * Copyright (C) the libgit2 contributors. All rights reserved. 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_git_transport_h__ 8 #define INCLUDE_git_transport_h__ 9 10 #include "indexer.h" 11 #include "net.h" 12 #include "types.h" 13 #include "cert.h" 14 #include "credential.h" 15 16 /** 17 * @file git2/transport.h 18 * @brief Git transport interfaces and functions 19 * @defgroup git_transport interfaces and functions 20 * @ingroup Git 21 * @{ 22 */ 23 GIT_BEGIN_DECL 24 25 /** 26 * Callback for messages received by the transport. 27 * 28 * Return a negative value to cancel the network operation. 29 * 30 * @param str The message from the transport 31 * @param len The length of the message 32 * @param payload Payload provided by the caller 33 */ 34 typedef int GIT_CALLBACK(git_transport_message_cb)(const char *str, int len, void *payload); 35 36 /** Signature of a function which creates a transport */ 37 typedef int GIT_CALLBACK(git_transport_cb)(git_transport **out, git_remote *owner, void *param); 38 39 /** @} */ 40 GIT_END_DECL 41 42 #endif 43