155714Skris/*-
255714Skris * SPDX-License-Identifier: BSD-3-Clause
355714Skris *
455714Skris * Copyright (c) 1991, 1993, 1994
555714Skris *	The Regents of the University of California.  All rights reserved.
655714Skris *
755714Skris * Redistribution and use in source and binary forms, with or without
8280304Sjkim * modification, are permitted provided that the following conditions
955714Skris * are met:
1055714Skris * 1. Redistributions of source code must retain the above copyright
1155714Skris *    notice, this list of conditions and the following disclaimer.
1255714Skris * 2. Redistributions in binary form must reproduce the above copyright
1355714Skris *    notice, this list of conditions and the following disclaimer in the
1455714Skris *    documentation and/or other materials provided with the distribution.
15280304Sjkim * 3. Neither the name of the University nor the names of its contributors
1655714Skris *    may be used to endorse or promote products derived from this software
1755714Skris *    without specific prior written permission.
1855714Skris *
1955714Skris * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
2055714Skris * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2155714Skris * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22280304Sjkim * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
2355714Skris * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2455714Skris * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2555714Skris * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2655714Skris * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2755714Skris * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2855714Skris * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2955714Skris * SUCH DAMAGE.
3055714Skris */
3155714Skris
3255714Skris#include <sys/cdefs.h>
3355714Skris
3455714Skrisvoid	 brace_subst(char *, char **, char *, size_t);
3555714SkrisPLAN	*find_create(char ***);
3655714Skrisint	 find_execute(PLAN *, char **);
37280304SjkimPLAN	*find_formplan(char **);
3855714SkrisPLAN	*not_squish(PLAN *);
3955714SkrisPLAN	*or_squish(PLAN *);
40280304SjkimPLAN	*paren_squish(PLAN *);
4155714Skristime_t	 get_date(char *);
4255714Skrisstruct stat;
4355714Skrisvoid	 printlong(char *, char *, struct stat *);
4455714Skrisint	 queryuser(char **);
4555714SkrisOPTION	*lookup_option(const char *);
4655714Skrisvoid	 finish_execplus(void);
4755714Skris
4855714Skriscreat_f	c_Xmin;
4955714Skriscreat_f	c_Xtime;
5055714Skriscreat_f	c_acl;
5155714Skriscreat_f	c_and;
52280304Sjkimcreat_f	c_delete;
5355714Skriscreat_f	c_depth;
5455714Skriscreat_f	c_empty;
5555714Skriscreat_f	c_exec;
5655714Skriscreat_f	c_flags;
5755714Skriscreat_f	c_follow;
5855714Skriscreat_f	c_fstype;
5955714Skriscreat_f	c_group;
6055714Skriscreat_f	c_ignore_readdir_race;
6155714Skriscreat_f	c_inum;
6255714Skriscreat_f	c_links;
6355714Skriscreat_f	c_ls;
6455714Skriscreat_f	c_mXXdepth;
6555714Skriscreat_f	c_name;
6655714Skriscreat_f	c_newer;
67280304Sjkimcreat_f	c_nogroup;
68280304Sjkimcreat_f	c_nouser;
6955714Skriscreat_f	c_perm;
70280304Sjkimcreat_f	c_print;
71280304Sjkimcreat_f	c_regex;
7255714Skriscreat_f	c_samefile;
7355714Skriscreat_f	c_simple;
7455714Skriscreat_f	c_size;
7555714Skriscreat_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