Annotation of 43BSDReno/usr.bin/find/find.h, revision 1.1.1.1

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();

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.