Annotation of 43BSDReno/usr.sbin/mtree/mtree.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:  * Redistribution and use in source and binary forms are permitted provided
                      6:  * that: (1) source distributions retain this entire copyright notice and
                      7:  * comment, and (2) distributions including binaries display the following
                      8:  * acknowledgement:  ``This product includes software developed by the
                      9:  * University of California, Berkeley and its contributors'' in the
                     10:  * documentation or other materials provided with the distribution and in
                     11:  * all advertising materials mentioning features or use of this software.
                     12:  * Neither the name of the University nor the names of its contributors may
                     13:  * be used to endorse or promote products derived from this software without
                     14:  * specific prior written permission.
                     15:  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
                     16:  * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
                     17:  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
                     18:  *
                     19:  *     @(#)mtree.h     5.7 (Berkeley) 5/25/90
                     20:  */
                     21: 
                     22: #include <string.h>
                     23: #include <stdlib.h>
                     24: 
                     25: typedef struct _node {
                     26:        struct _node    *parent, *child;        /* up, down */
                     27:        struct _node    *prev, *next;           /* left, right */
                     28:        off_t   st_size;                        /* size */
                     29:        time_t  st_mtime;                       /* last modification time */
                     30:        u_long  cksum;                          /* check sum */
                     31:        char    *slink;                         /* symbolic link reference */
                     32:        uid_t   st_uid;                         /* owner */
                     33:        gid_t   st_gid;                         /* group */
                     34: #define        MBITS   (S_ISUID|S_ISGID|S_ISTXT|S_IRWXU|S_IRWXG|S_IRWXO)
                     35:        mode_t  st_mode;                        /* mode */
                     36:        nlink_t st_nlink;                       /* link count */
                     37: 
                     38: #define        F_BLOCK 0x001                           /* block special */
                     39: #define        F_CHAR  0x002                           /* char special */
                     40: #define        F_DIR   0x004                           /* directory */
                     41: #define        F_FIFO  0x008                           /* fifo */
                     42: #define        F_FILE  0x010                           /* regular file */
                     43: #define        F_LINK  0x020                           /* symbolic link */
                     44: #define        F_SOCK  0x040                           /* socket */
                     45:        u_short type;                           /* file type */
                     46: 
                     47: #define        F_CKSUM 0x0001                          /* check sum */
                     48: #define        F_DONE  0x0002                          /* directory done */
                     49: #define        F_GROUP 0x0004                          /* group */
                     50: #define        F_IGN   0x0008                          /* ignore */
                     51: #define        F_MAGIC 0x0010                          /* name has magic chars */
                     52: #define        F_MODE  0x0020                          /* mode */
                     53: #define        F_NLINK 0x0040                          /* number of links */
                     54: #define        F_OWNER 0x0080                          /* owner */
                     55: #define        F_SIZE  0x0100                          /* size */
                     56: #define        F_SLINK 0x0200                          /* link count */
                     57: #define        F_TIME  0x0400                          /* modification time */
                     58: #define        F_TYPE  0x0800                          /* file type */
                     59: #define        F_VISIT 0x1000                          /* file visited */
                     60:        u_short flags;                          /* items set */
                     61: 
                     62:        char    name[1];                        /* file name (must be last) */
                     63: } NODE;
                     64: 
                     65: #define        RP(p)   (p->fts_path + 2)

unix.superglobalmegacorp.com

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