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
21struct hardlink_info
22{
23    Ctype status;		/* as returned from Classify_File() */
24    int checked_out;		/* has this file been checked out lately? */
25};
26
27extern List *hardlist;
28extern char *working_dir;
29
30Node *lookup_file_by_inode PROTO ((const char *));
31void update_hardlink_info PROTO ((const char *));
32List *list_linked_files_on_disk PROTO ((char *));
33int compare_linkage_lists PROTO ((List *, List *));
34int find_checkedout_proc PROTO ((Node *, void *));
35#endif /* PRESERVE_PERMISSIONS_SUPPORT */
36