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