Lines Matching defs:file
4 * The contents of this file are subject to the terms of the
6 * (the "License"). You may not use this file except in compliance
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
47 * flag bits describing what we know about an individual file, or in
49 * base and file stuctures.
51 typedef int fflags_t; /* type for file flags */
54 #define F_IN_BASELINE 0x02 /* file found in baseline */
55 #define F_IN_SOURCE 0x04 /* file found in source tree */
56 #define F_IN_DEST 0x08 /* file found in dest tree */
61 #define F_LISTED 0x100 /* file came from LIST */
62 #define F_STAT_ERROR 0x200 /* unable to stat file */
83 struct file *b_files; /* chain of files */
116 char *r_file; /* file for this rule */
121 * this is the information we keep track of for a file
124 ino_t f_ino; /* inode number of this file */
128 int f_type; /* file/dir/special ... */
130 int f_nlink; /* number of links to file */
147 * flag bits describing the differences we have detected between a file
150 * file structure
154 #define D_CREATE 0x01 /* file has been created */
155 #define D_DELETE 0x02 /* file has been deleted */
156 #define D_MTIME 0x04 /* file has been modified */
157 #define D_SIZE 0x08 /* file has changed size */
158 #define D_UID 0x10 /* file has changed user id */
159 #define D_GID 0x20 /* file has changed group id */
160 #define D_PROT 0x40 /* file has changed protection */
161 #define D_LINKS 0x80 /* file has changed link count */
162 #define D_TYPE 0x100 /* file has changed type */
163 #define D_FACLS 0x200 /* file has changed facls */
164 #define D_RENAME_TO 0x400 /* file came from a rename */
165 #define D_RENAME_FROM 0x800 /* file has been renamed */
170 * D_CONTENTS there may be changes to the file's contents
177 * file modification time.
184 * a file is an instance that follows (under a base) from a rule
185 * (for that base). A file structure may exist because of any
186 * combination of a file under the source, destination, in a
190 struct file {
191 struct file *f_next; /* pointer to next file in base */
192 struct file *f_files; /* pointer to files in subdir */
194 fflags_t f_flags; /* flags associated with file */
195 int f_depth; /* directory depth for file */
196 char *f_name; /* name of this file */
216 /* stat information from baseline file and evaluation */
223 /* this field is only valid for a renamed file */
224 struct file * f_previous; /* node for previous filename */
227 * these fields are only valid for a file that has been added
230 struct file *f_rnext; /* reconciliation chain ptr */
235 /* this field is only valid for a file with a hard conflict */
246 /* routines to manage base nodes, file nodes, and file infor */
249 struct file *add_file_to_base(struct base *, const char *);
250 struct file *add_file_to_dir(struct file *, const char *);
252 void note_info(struct file *, const struct stat *, side_t);
253 void update_info(struct file *, side_t);
275 errmask_t find_renames(struct file *);
276 errmask_t reconcile(struct file *);
279 char *full_name(struct file *, side_t, side_t);
282 errmask_t do_copy(struct file *, side_t);
283 errmask_t do_remove(struct file *, side_t);
284 errmask_t do_rename(struct file *, side_t);
285 errmask_t do_like(struct file *, side_t, bool_t);
288 struct file *find_link(struct file *, side_t);
289 void link_update(struct file *, side_t);
290 bool_t has_other_links(struct file *, side_t);
295 char *get_name(struct file *);