134461Speter/* This program is free software; you can redistribute it and/or modify
234461Speter   it under the terms of the GNU General Public License as published by
334461Speter   the Free Software Foundation; either version 2, or (at your option)
434461Speter   any later version.
534461Speter
634461Speter   This program is distributed in the hope that it will be useful,
734461Speter   but WITHOUT ANY WARRANTY; without even the implied warranty of
834461Speter   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
934461Speter   GNU General Public License for more details.  */
1034461Speter
1134461Speter/* Data type definitions and declarations for hardlink management.  */
1234461Speter
1334461Speter/* This file should be #included in CVS source files after cvs.h
1434461Speter   since it relies on types and macros defined there. */
1534461Speter
1634461Speter/* The `checked_out' member of a hardlink_info struct is used only
1734461Speter   when files are being checked out or updated.  It is used only when
1834461Speter   hardlinked files are being checked out. */
1934461Speter
20175261Sobrien#ifdef PRESERVE_PERMISSIONS_SUPPORT
2134461Speterstruct hardlink_info
2234461Speter{
2334461Speter    Ctype status;		/* as returned from Classify_File() */
2434461Speter    int checked_out;		/* has this file been checked out lately? */
2534461Speter};
2634461Speter
2734461Speterextern List *hardlist;
2834461Speterextern char *working_dir;
2934461Speter
3034461SpeterNode *lookup_file_by_inode PROTO ((const char *));
3134461Spetervoid update_hardlink_info PROTO ((const char *));
3244852SpeterList *list_linked_files_on_disk PROTO ((char *));
3344852Speterint compare_linkage_lists PROTO ((List *, List *));
3444852Speterint find_checkedout_proc PROTO ((Node *, void *));
35175261Sobrien#endif /* PRESERVE_PERMISSIONS_SUPPORT */
36