1 /*- 2 * SPDX-License-Identifier: BSD-3-Clause 3 * 4 * Copyright (c) 1991, 1993, 1994 5 * The Regents of the University of California. All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: 10 * 1. Redistributions of source code must retain the above copyright 11 * notice, this list of conditions and the following disclaimer. 12 * 2. Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 3. Neither the name of the University nor the names of its contributors 16 * may be used to endorse or promote products derived from this software 17 * without specific prior written permission. 18 * 19 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 20 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 23 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 * SUCH DAMAGE. 30 */ 31 32 #include <sys/cdefs.h> 33 34 void brace_subst(char *, char **, char *, size_t); 35 PLAN *find_create(char ***); 36 int find_execute(PLAN *, char **); 37 PLAN *find_formplan(char **); 38 PLAN *not_squish(PLAN *); 39 PLAN *or_squish(PLAN *); 40 PLAN *paren_squish(PLAN *); 41 time_t get_date(char *); 42 struct stat; 43 void printlong(char *, char *, struct stat *); 44 int queryuser(char **); 45 OPTION *lookup_option(const char *); 46 void finish_execplus(void); 47 48 creat_f c_Xmin; 49 creat_f c_Xtime; 50 creat_f c_acl; 51 creat_f c_and; 52 creat_f c_delete; 53 creat_f c_depth; 54 creat_f c_empty; 55 creat_f c_exec; 56 creat_f c_flags; 57 creat_f c_follow; 58 creat_f c_fstype; 59 creat_f c_group; 60 creat_f c_ignore_readdir_race; 61 creat_f c_inum; 62 creat_f c_links; 63 creat_f c_ls; 64 creat_f c_mXXdepth; 65 creat_f c_name; 66 creat_f c_newer; 67 creat_f c_nogroup; 68 creat_f c_nouser; 69 creat_f c_perm; 70 creat_f c_print; 71 creat_f c_regex; 72 creat_f c_samefile; 73 creat_f c_simple; 74 creat_f c_size; 75 creat_f c_sparse; 76 creat_f c_type; 77 creat_f c_user; 78 creat_f c_xdev; 79 80 exec_f f_Xmin; 81 exec_f f_Xtime; 82 exec_f f_acl; 83 exec_f f_always_true; 84 exec_f f_closeparen; 85 exec_f f_delete; 86 exec_f f_depth; 87 exec_f f_empty; 88 exec_f f_exec; 89 exec_f f_expr; 90 exec_f f_false; 91 exec_f f_flags; 92 exec_f f_fstype; 93 exec_f f_group; 94 exec_f f_inum; 95 exec_f f_links; 96 exec_f f_ls; 97 exec_f f_name; 98 exec_f f_newer; 99 exec_f f_nogroup; 100 exec_f f_not; 101 exec_f f_nouser; 102 exec_f f_openparen; 103 exec_f f_or; 104 exec_f f_path; 105 exec_f f_perm; 106 exec_f f_print; 107 exec_f f_print0; 108 exec_f f_prune; 109 exec_f f_quit; 110 exec_f f_regex; 111 exec_f f_size; 112 exec_f f_sparse; 113 exec_f f_type; 114 exec_f f_user; 115 116 extern int ftsoptions, ignore_readdir_race, isdepth, isoutput; 117 extern int issort, isxargs; 118 extern int mindepth, maxdepth; 119 extern int regexp_flags; 120 extern int exitstatus; 121 extern time_t now; 122 extern int dotfd; 123 extern FTS *tree; 124