11590Srgrimes/*-
21590Srgrimes * Copyright (c) 1991, 1993, 1994
31590Srgrimes *	The Regents of the University of California.  All rights reserved.
41590Srgrimes *
51590Srgrimes * Redistribution and use in source and binary forms, with or without
61590Srgrimes * modification, are permitted provided that the following conditions
71590Srgrimes * are met:
81590Srgrimes * 1. Redistributions of source code must retain the above copyright
91590Srgrimes *    notice, this list of conditions and the following disclaimer.
101590Srgrimes * 2. Redistributions in binary form must reproduce the above copyright
111590Srgrimes *    notice, this list of conditions and the following disclaimer in the
121590Srgrimes *    documentation and/or other materials provided with the distribution.
131590Srgrimes * 4. Neither the name of the University nor the names of its contributors
141590Srgrimes *    may be used to endorse or promote products derived from this software
151590Srgrimes *    without specific prior written permission.
161590Srgrimes *
171590Srgrimes * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
181590Srgrimes * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
191590Srgrimes * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
201590Srgrimes * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
211590Srgrimes * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
221590Srgrimes * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
231590Srgrimes * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
241590Srgrimes * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
251590Srgrimes * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
261590Srgrimes * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
271590Srgrimes * SUCH DAMAGE.
281590Srgrimes *
291590Srgrimes *	@(#)extern.h	8.3 (Berkeley) 4/16/94
3054828Sroberto *	$FreeBSD$
311590Srgrimes */
321590Srgrimes
331590Srgrimes#include <sys/cdefs.h>
341590Srgrimes
3592786Smarkmvoid	 brace_subst(char *, char **, char *, int);
3692786SmarkmPLAN	*find_create(char ***);
3792786Smarkmint	 find_execute(PLAN *, char **);
3892786SmarkmPLAN	*find_formplan(char **);
3992786SmarkmPLAN	*not_squish(PLAN *);
4092786SmarkmPLAN	*or_squish(PLAN *);
4192786SmarkmPLAN	*paren_squish(PLAN *);
42203723Sedtime_t	 get_date(char *);
431590Srgrimesstruct stat;
4492786Smarkmvoid	 printlong(char *, char *, struct stat *);
4592786Smarkmint	 queryuser(char **);
4692786SmarkmOPTION	*lookup_option(const char *);
47158572Skrionvoid	 finish_execplus(void);
481590Srgrimes
4976250Sphkcreat_f	c_Xmin;
5076250Sphkcreat_f	c_Xtime;
51127796Sbmilekiccreat_f	c_acl;
5276250Sphkcreat_f	c_and;
5376250Sphkcreat_f	c_delete;
5476250Sphkcreat_f	c_depth;
5576250Sphkcreat_f	c_empty;
5676250Sphkcreat_f	c_exec;
5776250Sphkcreat_f	c_flags;
5876250Sphkcreat_f	c_follow;
5976250Sphkcreat_f	c_fstype;
6076250Sphkcreat_f	c_group;
61238780Sjillescreat_f	c_ignore_readdir_race;
6276250Sphkcreat_f	c_inum;
6376250Sphkcreat_f	c_links;
6476250Sphkcreat_f	c_ls;
6576250Sphkcreat_f	c_mXXdepth;
6676250Sphkcreat_f	c_name;
6776250Sphkcreat_f	c_newer;
6876250Sphkcreat_f	c_nogroup;
6976250Sphkcreat_f	c_nouser;
7076250Sphkcreat_f	c_perm;
7176250Sphkcreat_f	c_print;
7276250Sphkcreat_f	c_regex;
73176478Simpcreat_f	c_samefile;
7476250Sphkcreat_f	c_simple;
7576250Sphkcreat_f	c_size;
76247730Sdwmalonecreat_f	c_sparse;
7776250Sphkcreat_f	c_type;
7876250Sphkcreat_f	c_user;
7976250Sphkcreat_f	c_xdev;
801590Srgrimes
8176250Sphkexec_f	f_Xmin;
8276250Sphkexec_f	f_Xtime;
83127796Sbmilekicexec_f	f_acl;
8476250Sphkexec_f	f_always_true;
8576250Sphkexec_f	f_closeparen;
8676250Sphkexec_f	f_delete;
87129812Seikexec_f	f_depth;
8876250Sphkexec_f	f_empty;
8976250Sphkexec_f	f_exec;
9076250Sphkexec_f	f_expr;
91176478Simpexec_f	f_false;
9276250Sphkexec_f	f_flags;
9376250Sphkexec_f	f_fstype;
9476250Sphkexec_f	f_group;
9576250Sphkexec_f	f_inum;
9676250Sphkexec_f	f_links;
9776250Sphkexec_f	f_ls;
9876250Sphkexec_f	f_name;
9976250Sphkexec_f	f_newer;
10076250Sphkexec_f	f_nogroup;
10176250Sphkexec_f	f_not;
10276250Sphkexec_f	f_nouser;
10376250Sphkexec_f	f_openparen;
10476250Sphkexec_f	f_or;
10576250Sphkexec_f	f_path;
10676250Sphkexec_f	f_perm;
10776250Sphkexec_f	f_print;
10876250Sphkexec_f	f_print0;
10976250Sphkexec_f	f_prune;
110176478Simpexec_f	f_quit;
11176250Sphkexec_f	f_regex;
11276250Sphkexec_f	f_size;
113247730Sdwmaloneexec_f	f_sparse;
11476250Sphkexec_f	f_type;
11576250Sphkexec_f	f_user;
11676250Sphk
117238780Sjillesextern int ftsoptions, ignore_readdir_race, isdeprecated, isdepth, isoutput;
118238780Sjillesextern int issort, isxargs;
11961575Srobertoextern int mindepth, maxdepth;
12072945Sknuextern int regexp_flags;
121116333Smarkmextern time_t now;
122116333Smarkmextern int dotfd;
123116333Smarkmextern FTS *tree;
124