minor rewording, don't talk about primaries/operands until defined
[unix-history] / usr / src / usr.bin / find / find.h
CommitLineData
45fc66f9
KB
1/*-
2 * Copyright (c) 1990 The Regents of the University of California.
3 * All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * Cimarron D. Taylor of the University of California, Berkeley.
7 *
8 * %sccs.include.redist.c%
9 *
10 * @(#)find.h 5.1 (Berkeley) %G%
11 */
12
13/* node definition */
14typedef struct _plandata {
15 struct _plandata *next; /* next node */
16 int (*eval)(); /* node evaluation function */
17 int flags; /* private flags */
18 int type; /* plan node type */
19 union {
20 gid_t _g_data; /* gid */
21 ino_t _i_data; /* inode */
22 mode_t _m_data; /* mode mask */
23 nlink_t _l_data; /* link count */
24 off_t _o_data; /* file size */
25 time_t _t_data; /* time value */
26 uid_t _u_data; /* uid */
27 struct _plandata *_p_data[2]; /* PLAN trees */
28 struct _ex {
29 char **_e_argv; /* argv array */
30 char **_e_orig; /* original strings */
31 int *_e_len; /* allocated length */
32 } ex;
33 char *_a_data[2]; /* array of char pointers */
34 char *_c_data; /* char pointer */
35 } p_un;
36#define a_data p_un._a_data
37#define c_data p_un._c_data
38#define i_data p_un._i_data
39#define g_data p_un._g_data
40#define l_data p_un._l_data
41#define m_data p_un._m_data
42#define o_data p_un._o_data
43#define p_data p_un._p_data
44#define t_data p_un._t_data
45#define u_data p_un._u_data
46#define e_argv p_un.ex._e_argv
47#define e_orig p_un.ex._e_orig
48#define e_len p_un.ex._e_len
49} PLAN;
50
51/* node types */
52#define T_AND 1 /* must start at >0 */
53#define T_ATIME 2
54#define T_CLOSEPAREN 3
55#define T_CTIME 4
56#define T_DEPTH 5
57#define T_EXEC 6
58#define T_EXPR 7
59#define T_FOLLOW 8
60#define T_FSTYPE 9
61#define T_GROUP 10
62#define T_INUM 11
63#define T_LINKS 12
64#define T_LS 13
65#define T_MTIME 14
66#define T_NAME 15
67#define T_NEWER 16
68#define T_NOGROUP 17
69#define T_NOT 18
70#define T_NOUSER 19
71#define T_OK 20
72#define T_OPENPAREN 21
73#define T_OR 22
74#define T_PERM 23
75#define T_PRINT 24
76#define T_PRUNE 25
77#define T_SIZE 26
78#define T_TYPE 27
79#define T_USER 28
80#define T_XDEV 29
81
82extern int errno;
83extern int ftsoptions, output_specified;
84char *emalloc();