|
|
1.1 root 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: * Redistribution and use in source and binary forms are permitted provided
9: * that: (1) source distributions retain this entire copyright notice and
10: * comment, and (2) distributions including binaries display the following
11: * acknowledgement: ``This product includes software developed by the
12: * University of California, Berkeley and its contributors'' in the
13: * documentation or other materials provided with the distribution and in
14: * all advertising materials mentioning features or use of this software.
15: * Neither the name of the University nor the names of its contributors may
16: * be used to endorse or promote products derived from this software without
17: * specific prior written permission.
18: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
19: * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
20: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21: *
22: * @(#)find.h 5.1 (Berkeley) 4/16/90
23: */
24:
25: /* node definition */
26: typedef struct _plandata {
27: struct _plandata *next; /* next node */
28: int (*eval)(); /* node evaluation function */
29: int flags; /* private flags */
30: int type; /* plan node type */
31: union {
32: gid_t _g_data; /* gid */
33: ino_t _i_data; /* inode */
34: mode_t _m_data; /* mode mask */
35: nlink_t _l_data; /* link count */
36: off_t _o_data; /* file size */
37: time_t _t_data; /* time value */
38: uid_t _u_data; /* uid */
39: struct _plandata *_p_data[2]; /* PLAN trees */
40: struct _ex {
41: char **_e_argv; /* argv array */
42: char **_e_orig; /* original strings */
43: int *_e_len; /* allocated length */
44: } ex;
45: char *_a_data[2]; /* array of char pointers */
46: char *_c_data; /* char pointer */
47: } p_un;
48: #define a_data p_un._a_data
49: #define c_data p_un._c_data
50: #define i_data p_un._i_data
51: #define g_data p_un._g_data
52: #define l_data p_un._l_data
53: #define m_data p_un._m_data
54: #define o_data p_un._o_data
55: #define p_data p_un._p_data
56: #define t_data p_un._t_data
57: #define u_data p_un._u_data
58: #define e_argv p_un.ex._e_argv
59: #define e_orig p_un.ex._e_orig
60: #define e_len p_un.ex._e_len
61: } PLAN;
62:
63: /* node types */
64: #define T_AND 1 /* must start at >0 */
65: #define T_ATIME 2
66: #define T_CLOSEPAREN 3
67: #define T_CTIME 4
68: #define T_DEPTH 5
69: #define T_EXEC 6
70: #define T_EXPR 7
71: #define T_FOLLOW 8
72: #define T_FSTYPE 9
73: #define T_GROUP 10
74: #define T_INUM 11
75: #define T_LINKS 12
76: #define T_LS 13
77: #define T_MTIME 14
78: #define T_NAME 15
79: #define T_NEWER 16
80: #define T_NOGROUP 17
81: #define T_NOT 18
82: #define T_NOUSER 19
83: #define T_OK 20
84: #define T_OPENPAREN 21
85: #define T_OR 22
86: #define T_PERM 23
87: #define T_PRINT 24
88: #define T_PRUNE 25
89: #define T_SIZE 26
90: #define T_TYPE 27
91: #define T_USER 28
92: #define T_XDEV 29
93:
94: extern int errno;
95: extern int ftsoptions, output_specified;
96: char *emalloc();
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.