1 /* @(#)diff.h 1.18 19/11/02 Copyright 1993-2019 J. Schilling */ 2 /* 3 * Definitions for the taylorable diff command 4 * 5 * Copyright (c) 1993-2019 J. Schilling 6 */ 7 /* 8 * The contents of this file are subject to the terms of the 9 * Common Development and Distribution License, Version 1.0 only 10 * (the "License"). You may not use this file except in compliance 11 * with the License. 12 * 13 * See the file CDDL.Schily.txt in this distribution for details. 14 * A copy of the CDDL is also available via the Internet at 15 * http://www.opensource.org/licenses/cddl1.txt 16 * 17 * When distributing Covered Code, include this CDDL HEADER in each 18 * file and include the License file CDDL.Schily.txt from this distribution. 19 */ 20 21 #ifndef _DIFF_H 22 #define _DIFF_H 23 24 #ifdef __cplusplus 25 extern "C" { 26 #endif 27 28 #define D_PERM 0x000001 29 #define D_TYPE 0x000002 30 #define D_NLINK 0x000004 31 #define D_SYMPERM 0x000008 32 #define D_UID 0x000010 33 #define D_GID 0x000020 34 #define D_UNAME 0x000040 35 #define D_GNAME 0x000080 36 #define D_ID (D_UID|D_GID|D_UNAME|D_GNAME) 37 #define D_SIZE 0x000100 38 #define D_DATA 0x000200 39 #define D_RDEV 0x000400 40 41 #define D_UNUSED1 0x000800 42 43 #define D_HLINK 0x001000 44 #define D_SLINK 0x002000 45 #define D_SLPATH 0x004000 46 #define D_SPARS 0x008000 47 #define D_ATIME 0x010000 48 #define D_MTIME 0x020000 49 #define D_CTIME 0x040000 50 #define D_TIMES (D_ATIME|D_MTIME|D_CTIME) 51 #define D_LMTIME 0x080000 52 #define D_XTIMES (D_ATIME|D_MTIME|D_CTIME|D_LMTIME) 53 #define D_DIR 0x100000 54 #define D_ACL 0x200000 55 #define D_XATTR 0x400000 56 #define D_FFLAGS 0x800000 57 #define D_ANTIME 0x1000000 58 #define D_MNTIME 0x2000000 59 #define D_CNTIME 0x4000000 60 #define D_DNLINK 0x8000000 61 #define D_MAX 0x80000000 62 63 /* 64 * Atime frequently changes, it makes no sense to check it by default. 65 * Mtime on symlinks cannot be copies, so do not check it too. 66 */ 67 #define D_DEFLT (~(D_SYMPERM|D_ATIME|D_LMTIME)) 68 #define D_ALL (~0L); 69 70 extern long diffopts; 71 72 typedef struct diffs { 73 int d_perm; 74 int d_type; 75 int d_nlink; 76 int d_dnlink; 77 int d_symperm; 78 int d_uid; 79 int d_gid; 80 int d_uname; 81 int d_gname; 82 int d_size; 83 int d_data; 84 int d_rdev; 85 int d_hlink; 86 int d_slink; 87 int d_slpath; 88 int d_sparse; 89 int d_atime; 90 int d_mtime; 91 int d_ctime; 92 int d_antime; 93 int d_mntime; 94 int d_cntime; 95 int d_lmtime; 96 int d_dir; 97 int d_acl; 98 int d_xattr; 99 int d_fflags; 100 } diffs_t; 101 102 #ifdef __cplusplus 103 } 104 #endif 105 106 #endif /* _DIFF_H */ 107