|
|
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.