xref: /openbsd-src/libexec/tradcpp/files.h (revision a9b3ff1afb41a291f9dcc0a73ee1d8bfbfc4f686)
1*a9b3ff1aSjsg /*-
2*a9b3ff1aSjsg  * Copyright (c) 2010 The NetBSD Foundation, Inc.
3*a9b3ff1aSjsg  * All rights reserved.
4*a9b3ff1aSjsg  *
5*a9b3ff1aSjsg  * This code is derived from software contributed to The NetBSD Foundation
6*a9b3ff1aSjsg  * by David A. Holland.
7*a9b3ff1aSjsg  *
8*a9b3ff1aSjsg  * Redistribution and use in source and binary forms, with or without
9*a9b3ff1aSjsg  * modification, are permitted provided that the following conditions
10*a9b3ff1aSjsg  * are met:
11*a9b3ff1aSjsg  * 1. Redistributions of source code must retain the above copyright
12*a9b3ff1aSjsg  *    notice, this list of conditions and the following disclaimer.
13*a9b3ff1aSjsg  * 2. Redistributions in binary form must reproduce the above copyright
14*a9b3ff1aSjsg  *    notice, this list of conditions and the following disclaimer in the
15*a9b3ff1aSjsg  *    documentation and/or other materials provided with the distribution.
16*a9b3ff1aSjsg  *
17*a9b3ff1aSjsg  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
18*a9b3ff1aSjsg  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19*a9b3ff1aSjsg  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20*a9b3ff1aSjsg  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
21*a9b3ff1aSjsg  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22*a9b3ff1aSjsg  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23*a9b3ff1aSjsg  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24*a9b3ff1aSjsg  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25*a9b3ff1aSjsg  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26*a9b3ff1aSjsg  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27*a9b3ff1aSjsg  * POSSIBILITY OF SUCH DAMAGE.
28*a9b3ff1aSjsg  */
29*a9b3ff1aSjsg 
30*a9b3ff1aSjsg struct place;
31*a9b3ff1aSjsg 
32*a9b3ff1aSjsg void files_init(void);
33*a9b3ff1aSjsg void files_cleanup(void);
34*a9b3ff1aSjsg 
35*a9b3ff1aSjsg void files_addquotepath(const char *dir, bool issystem);
36*a9b3ff1aSjsg void files_addbracketpath(const char *dir, bool issystem);
37*a9b3ff1aSjsg 
38*a9b3ff1aSjsg void file_readquote(struct place *, const char *name);
39*a9b3ff1aSjsg void file_readbracket(struct place *, const char *name);
40*a9b3ff1aSjsg void file_readabsolute(struct place *, const char *name);
41