1*543adbedSBen Gras /*- 2*543adbedSBen Gras * Copyright (c) 2003-2007 Tim Kientzle 3*543adbedSBen Gras * All rights reserved. 4*543adbedSBen Gras * 5*543adbedSBen Gras * Redistribution and use in source and binary forms, with or without 6*543adbedSBen Gras * modification, are permitted provided that the following conditions 7*543adbedSBen Gras * are met: 8*543adbedSBen Gras * 1. Redistributions of source code must retain the above copyright 9*543adbedSBen Gras * notice, this list of conditions and the following disclaimer 10*543adbedSBen Gras * in this position and unchanged. 11*543adbedSBen Gras * 2. Redistributions in binary form must reproduce the above copyright 12*543adbedSBen Gras * notice, this list of conditions and the following disclaimer in the 13*543adbedSBen Gras * documentation and/or other materials provided with the distribution. 14*543adbedSBen Gras * 15*543adbedSBen Gras * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR 16*543adbedSBen Gras * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17*543adbedSBen Gras * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18*543adbedSBen Gras * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, 19*543adbedSBen Gras * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20*543adbedSBen Gras * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21*543adbedSBen Gras * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22*543adbedSBen Gras * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23*543adbedSBen Gras * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24*543adbedSBen Gras * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25*543adbedSBen Gras * 26*543adbedSBen Gras * $FreeBSD$ 27*543adbedSBen Gras */ 28*543adbedSBen Gras 29*543adbedSBen Gras #ifndef MATCHING_H 30*543adbedSBen Gras #define MATCHING_H 31*543adbedSBen Gras 32*543adbedSBen Gras struct lafe_matching; 33*543adbedSBen Gras 34*543adbedSBen Gras int lafe_exclude(struct lafe_matching **matching, const char *pattern); 35*543adbedSBen Gras int lafe_exclude_from_file(struct lafe_matching **matching, 36*543adbedSBen Gras const char *pathname); 37*543adbedSBen Gras int lafe_include(struct lafe_matching **matching, const char *pattern); 38*543adbedSBen Gras int lafe_include_from_file(struct lafe_matching **matching, 39*543adbedSBen Gras const char *pathname, int nullSeparator); 40*543adbedSBen Gras 41*543adbedSBen Gras int lafe_excluded(struct lafe_matching *, const char *pathname); 42*543adbedSBen Gras void lafe_cleanup_exclusions(struct lafe_matching **); 43*543adbedSBen Gras int lafe_unmatched_inclusions(struct lafe_matching *); 44*543adbedSBen Gras int lafe_unmatched_inclusions_warn(struct lafe_matching *, const char *msg); 45*543adbedSBen Gras 46*543adbedSBen Gras #endif 47