2 cfd92333 2021-08-27 tracey * Copyright (c) 2020, 2021 Tracey Emery <tracey@openbsd.org>
3 257add31 2020-09-09 stsp * Copyright (c) 2020 Stefan Sperling <stsp@openbsd.org>
5 257add31 2020-09-09 stsp * Permission to use, copy, modify, and distribute this software for any
6 257add31 2020-09-09 stsp * purpose with or without fee is hereby granted, provided that the above
7 257add31 2020-09-09 stsp * copyright notice and this permission notice appear in all copies.
9 257add31 2020-09-09 stsp * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 257add31 2020-09-09 stsp * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 257add31 2020-09-09 stsp * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 257add31 2020-09-09 stsp * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 257add31 2020-09-09 stsp * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 257add31 2020-09-09 stsp * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 257add31 2020-09-09 stsp * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18 cfd92333 2021-08-27 tracey struct fetch_repo {
19 cfd92333 2021-08-27 tracey char *fetch_name;
20 cfd92333 2021-08-27 tracey char *fetch_repository;
21 cfd92333 2021-08-27 tracey char *fetch_server;
22 cfd92333 2021-08-27 tracey char *fetch_protocol;
23 cfd92333 2021-08-27 tracey int fetch_port;
24 cfd92333 2021-08-27 tracey struct node_branch *fetch_branch;
27 cfd92333 2021-08-27 tracey struct send_repo {
28 cfd92333 2021-08-27 tracey char *send_name;
29 cfd92333 2021-08-27 tracey char *send_repository;
30 cfd92333 2021-08-27 tracey char *send_server;
31 cfd92333 2021-08-27 tracey char *send_protocol;
32 cfd92333 2021-08-27 tracey int send_port;
33 cfd92333 2021-08-27 tracey struct node_branch *send_branch;
36 b8adfa55 2020-09-25 stsp struct node_branch {
37 b8adfa55 2020-09-25 stsp char *branch_name;
38 b8adfa55 2020-09-25 stsp struct node_branch *next;
39 b8adfa55 2020-09-25 stsp struct node_branch *tail;
42 99495ddb 2021-01-10 stsp struct node_ref {
43 99495ddb 2021-01-10 stsp char *ref_name;
44 99495ddb 2021-01-10 stsp struct node_ref *next;
45 99495ddb 2021-01-10 stsp struct node_ref *tail;
48 257add31 2020-09-09 stsp struct gotconfig_remote_repo {
49 257add31 2020-09-09 stsp TAILQ_ENTRY(gotconfig_remote_repo) entry;
51 257add31 2020-09-09 stsp char *repository;
52 257add31 2020-09-09 stsp char *server;
53 257add31 2020-09-09 stsp char *protocol;
55 257add31 2020-09-09 stsp int mirror_references;
56 0c8b29c5 2021-01-05 stsp int fetch_all_branches;
57 b8adfa55 2020-09-25 stsp struct node_branch *branch;
58 99495ddb 2021-01-10 stsp struct node_ref *ref;
59 cfd92333 2021-08-27 tracey struct fetch_repo *fetch_repo;
60 cfd92333 2021-08-27 tracey struct send_repo *send_repo;
62 257add31 2020-09-09 stsp TAILQ_HEAD(gotconfig_remote_repo_list, gotconfig_remote_repo);
64 257add31 2020-09-09 stsp struct gotconfig {
65 257add31 2020-09-09 stsp char *author;
66 257add31 2020-09-09 stsp struct gotconfig_remote_repo_list remotes;
67 257add31 2020-09-09 stsp int nremotes;
71 257add31 2020-09-09 stsp * Parse individual gotconfig repository files
73 257add31 2020-09-09 stsp const struct got_error *gotconfig_parse(struct gotconfig **, const char *,
75 257add31 2020-09-09 stsp void gotconfig_free(struct gotconfig *);