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
34void	 brace_subst(char *, char **, char *, size_t);
35PLAN	*find_create(char ***);
36int	 find_execute(PLAN *, char **);
37PLAN	*find_formplan(char **);
38PLAN	*not_squish(PLAN *);
39PLAN	*or_squish(PLAN *);
40PLAN	*paren_squish(PLAN *);
41time_t	 get_date(char *);
42struct stat;
43void	 printlong(char *, char *, struct stat *);
44int	 queryuser(char **);
45OPTION	*lookup_option(const char *);
46void	 finish_execplus(void);
47
48creat_f	c_Xmin;
49creat_f	c_Xtime;
50creat_f	c_acl;
51creat_f	c_and;
52creat_f	c_delete;
53creat_f	c_depth;
54creat_f	c_empty;
55creat_f	c_exec;
56creat_f	c_flags;
57creat_f	c_follow;
58creat_f	c_fstype;
59creat_f	c_group;
60creat_f	c_ignore_readdir_race;
61creat_f	c_inum;
62creat_f	c_links;
63creat_f	c_ls;
64creat_f	c_mXXdepth;
65creat_f	c_name;
66creat_f	c_newer;
67creat_f	c_nogroup;
68creat_f	c_nouser;
69creat_f	c_perm;
70creat_f	c_print;
71creat_f	c_regex;
72creat_f	c_samefile;
73creat_f	c_simple;
74creat_f	c_size;
75creat_f	c_sparse;
76creat_f	c_type;
77creat_f	c_user;
78creat_f	c_xdev;
79
80exec_f	f_Xmin;
81exec_f	f_Xtime;
82exec_f	f_acl;
83exec_f	f_always_true;
84exec_f	f_closeparen;
85exec_f	f_delete;
86exec_f	f_depth;
87exec_f	f_empty;
88exec_f	f_exec;
89exec_f	f_executable;
90exec_f	f_expr;
91exec_f	f_false;
92exec_f	f_flags;
93exec_f	f_fstype;
94exec_f	f_group;
95exec_f	f_inum;
96exec_f	f_links;
97exec_f	f_ls;
98exec_f	f_name;
99exec_f	f_newer;
100exec_f	f_nogroup;
101exec_f	f_not;
102exec_f	f_nouser;
103exec_f	f_openparen;
104exec_f	f_or;
105exec_f	f_path;
106exec_f	f_perm;
107exec_f	f_print;
108exec_f	f_print0;
109exec_f	f_prune;
110exec_f	f_quit;
111exec_f	f_readable;
112exec_f	f_regex;
113exec_f	f_size;
114exec_f	f_sparse;
115exec_f	f_type;
116exec_f	f_user;
117exec_f	f_writable;
118
119extern int ftsoptions, ignore_readdir_race, isdepth, isoutput;
120extern int issort, isxargs;
121extern int mindepth, maxdepth;
122extern int regexp_flags;
123extern int exitstatus;
124extern time_t now;
125extern int dotfd;
126extern FTS *tree;
127extern volatile sig_atomic_t showinfo;
128