xref: /dragonfly/contrib/cvs-1.12/src/hardlink.h (revision f2c43266)
1 /* This program is free software; you can redistribute it and/or modify
2    it under the terms of the GNU General Public License as published by
3    the Free Software Foundation; either version 2, or (at your option)
4    any later version.
5 
6    This program is distributed in the hope that it will be useful,
7    but WITHOUT ANY WARRANTY; without even the implied warranty of
8    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
9    GNU General Public License for more details.  */
10 
11 /* Data type definitions and declarations for hardlink management.  */
12 
13 /* This file should be #included in CVS source files after cvs.h
14    since it relies on types and macros defined there. */
15 
16 /* The `checked_out' member of a hardlink_info struct is used only
17    when files are being checked out or updated.  It is used only when
18    hardlinked files are being checked out. */
19 
20 #ifdef PRESERVE_PERMISSIONS_SUPPORT
21 struct hardlink_info
22 {
23     Ctype status;		/* as returned from Classify_File() */
24     int checked_out;		/* has this file been checked out lately? */
25 };
26 
27 extern List *hardlist;
28 extern char *working_dir;
29 
30 Node *lookup_file_by_inode (const char *);
31 void update_hardlink_info (const char *);
32 List *list_linked_files_on_disk (char *);
33 int compare_linkage_lists (List *, List *);
34 int find_checkedout_proc (Node *, void *);
35 #endif /* PRESERVE_PERMISSIONS_SUPPORT */
36