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