xref: /freebsd/usr.sbin/pkg/config.h (revision 4d846d260e2b9a3d4d0a701462568268cbfe7a5b)
19950eceeSBaptiste Daroussin /*-
2*4d846d26SWarner Losh  * SPDX-License-Identifier: BSD-2-Clause
31de7b4b8SPedro F. Giffuni  *
49950eceeSBaptiste Daroussin  * Copyright (c) 2013 Baptiste Daroussin <bapt@FreeBSD.org>
59950eceeSBaptiste Daroussin  * All rights reserved.
69950eceeSBaptiste Daroussin  *
79950eceeSBaptiste Daroussin  * Redistribution and use in source and binary forms, with or without
89950eceeSBaptiste Daroussin  * modification, are permitted provided that the following conditions
99950eceeSBaptiste Daroussin  * are met:
109950eceeSBaptiste Daroussin  * 1. Redistributions of source code must retain the above copyright
119950eceeSBaptiste Daroussin  *    notice, this list of conditions and the following disclaimer.
129950eceeSBaptiste Daroussin  * 2. Redistributions in binary form must reproduce the above copyright
139950eceeSBaptiste Daroussin  *    notice, this list of conditions and the following disclaimer in the
149950eceeSBaptiste Daroussin  *    documentation and/or other materials provided with the distribution.
159950eceeSBaptiste Daroussin  *
169950eceeSBaptiste Daroussin  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
179950eceeSBaptiste Daroussin  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
189950eceeSBaptiste Daroussin  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
199950eceeSBaptiste Daroussin  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
209950eceeSBaptiste Daroussin  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
219950eceeSBaptiste Daroussin  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
229950eceeSBaptiste Daroussin  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
239950eceeSBaptiste Daroussin  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
249950eceeSBaptiste Daroussin  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
259950eceeSBaptiste Daroussin  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
269950eceeSBaptiste Daroussin  * SUCH DAMAGE.
279950eceeSBaptiste Daroussin  *
289950eceeSBaptiste Daroussin  * $FreeBSD$
299950eceeSBaptiste Daroussin  */
309950eceeSBaptiste Daroussin 
319950eceeSBaptiste Daroussin #ifndef _PKG_CONFIG_H
329950eceeSBaptiste Daroussin #define _PKG_CONFIG_H
339950eceeSBaptiste Daroussin 
341f474190SStefan Eßer #include <paths.h>
351f474190SStefan Eßer 
3662940ea9SBryan Drewery #define URL_SCHEME_PREFIX "pkg+"
379950eceeSBaptiste Daroussin 
389950eceeSBaptiste Daroussin typedef enum {
399950eceeSBaptiste Daroussin 	PACKAGESITE = 0,
409950eceeSBaptiste Daroussin 	ABI,
419950eceeSBaptiste Daroussin 	MIRROR_TYPE,
429950eceeSBaptiste Daroussin 	ASSUME_ALWAYS_YES,
43f12db248SBryan Drewery 	SIGNATURE_TYPE,
44f12db248SBryan Drewery 	FINGERPRINTS,
45eb31a574SBryan Drewery 	REPOS_DIR,
4661acb458SBaptiste Daroussin 	PUBKEY,
47e869d3c6SMoritz Schmitt 	PKG_ENV,
489950eceeSBaptiste Daroussin 	CONFIG_SIZE
499950eceeSBaptiste Daroussin } pkg_config_key;
509950eceeSBaptiste Daroussin 
519950eceeSBaptiste Daroussin typedef enum {
529950eceeSBaptiste Daroussin 	PKG_CONFIG_STRING=0,
539950eceeSBaptiste Daroussin 	PKG_CONFIG_BOOL,
54eb31a574SBryan Drewery 	PKG_CONFIG_LIST,
55e869d3c6SMoritz Schmitt 	PKG_CONFIG_OBJECT
569950eceeSBaptiste Daroussin } pkg_config_t;
579950eceeSBaptiste Daroussin 
58bc5e9ac0SBryan Drewery typedef enum {
59bc5e9ac0SBryan Drewery 	CONFFILE_PKG=0,
60bc5e9ac0SBryan Drewery 	CONFFILE_REPO,
61bc5e9ac0SBryan Drewery } pkg_conf_file_t;
62bc5e9ac0SBryan Drewery 
6318418e19SKyle Evans int config_init(const char *);
649950eceeSBaptiste Daroussin void config_finish(void);
659950eceeSBaptiste Daroussin int config_string(pkg_config_key, const char **);
669950eceeSBaptiste Daroussin int config_bool(pkg_config_key, bool *);
679950eceeSBaptiste Daroussin 
689950eceeSBaptiste Daroussin #endif
69