00001 /* 00002 * libcsync -- a library to sync a directory with another 00003 * 00004 * Copyright (c) 2008 by Andreas Schneider <mail@cynapses.org> 00005 * 00006 * This program is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU General Public License 00008 * as published by the Free Software Foundation; either version 2 00009 * of the License, or (at your option) any later version. 00010 * 00011 * This program is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 * GNU General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU General Public License 00017 * along with this program; if not, write to the Free Software Foundation, 00018 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00019 * 00020 * vim: ft=c.doxygen ts=2 sw=2 et cindent 00021 */ 00022 00023 #ifndef _CSYNC_EXCLUDE_H 00024 #define _CSYNC_EXCLUDE_H 00025 00026 /** 00027 * @brief Load exclude list 00028 * 00029 * @param ctx The context of the synchronizer. 00030 * @param fname The filename to load. 00031 * 00032 * @return 0 on success, -1 if an error occured with errno set. 00033 */ 00034 int csync_exclude_load(CSYNC *ctx, const char *fname); 00035 00036 /** 00037 * @brief Destroy the exclude list in memory. 00038 * 00039 * @param ctx The synchronizer context. 00040 */ 00041 void csync_exclude_destroy(CSYNC *ctx); 00042 00043 /** 00044 * @brief Check if the given path should be excluded. 00045 * 00046 * @param ctx The synchronizer context. 00047 * @param path The patch to check. 00048 * 00049 * @return 1 if excluded, 0 if not. 00050 */ 00051 int csync_excluded(CSYNC *ctx, const char *path); 00052 00053 #endif /* _CSYNC_EXCLUDE_H */