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 /**
8  * License: GPL-2.0(Linking Exception)
9  */
10 
11 module libgit2.sys.remote;
12 
13 
14 private static import libgit2.remote;
15 private import libgit2.common: GIT_EXTERN;
16 
17 /*
18  * @file git2/sys/remote.h
19  * @brief Low-level remote functionality for custom transports
20  * @defgroup git_remote Low-level remote functionality
21  * @ingroup Git
22  * @{
23 */
24 extern (C):
25 nothrow @nogc:
26 
27 enum git_remote_capability_t
28 {
29 	/**
30 	 * Remote supports fetching an advertised object by ID.
31 	 */
32 	GIT_REMOTE_CAPABILITY_TIP_OID = 1 << 0,
33 
34 	/**
35 	 * Remote supports fetching an individual reachable object.
36 	 */
37 	GIT_REMOTE_CAPABILITY_REACHABLE_OID = 1 << 1,
38 }
39 
40 //Declaration name in C language
41 enum
42 {
43 	GIT_REMOTE_CAPABILITY_TIP_OID = .git_remote_capability_t.GIT_REMOTE_CAPABILITY_TIP_OID,
44 	GIT_REMOTE_CAPABILITY_REACHABLE_OID = .git_remote_capability_t.GIT_REMOTE_CAPABILITY_REACHABLE_OID,
45 }
46 
47 /**
48  * Disposes libgit2-initialized fields from a git_remote_connect_options.
49  * This should only be used for git_remote_connect_options returned by
50  * git_transport_remote_connect_options.
51  *
52  * Note that this does not free the `git_remote_connect_options` itself, just
53  * the memory pointed to by it.
54  *
55  * Params:
56  *      opts = The `git_remote_connect_options` struct to dispose.
57  */
58 @GIT_EXTERN
59 void git_remote_connect_options_dispose(libgit2.remote.git_remote_connect_options* opts);
60 
61 /* @} */