1121054Semax/* This program is free software; you can redistribute it and/or modify 2121054Semax it under the terms of the GNU General Public License as published by 3121054Semax the Free Software Foundation; either version 2, or (at your option) 4121054Semax any later version. 5121054Semax 6121054Semax This program is distributed in the hope that it will be useful, 7121054Semax but WITHOUT ANY WARRANTY; without even the implied warranty of 8121054Semax MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 9121054Semax GNU General Public License for more details. */ 10121054Semax 11121054Semax/* Data type definitions and declarations for hardlink management. */ 12121054Semax 13121054Semax/* This file should be #included in CVS source files after cvs.h 14121054Semax since it relies on types and macros defined there. */ 15121054Semax 16121054Semax/* The `checked_out' member of a hardlink_info struct is used only 17121054Semax when files are being checked out or updated. It is used only when 18121054Semax hardlinked files are being checked out. */ 19121054Semax 20121054Semax#ifdef PRESERVE_PERMISSIONS_SUPPORT 21121054Semaxstruct hardlink_info 22121054Semax{ 23121054Semax Ctype status; /* as returned from Classify_File() */ 24121054Semax int checked_out; /* has this file been checked out lately? */ 25121054Semax}; 26121054Semax 27121054Semaxextern List *hardlist; 28121054Semaxextern char *working_dir; 29121054Semax 30121054SemaxNode *lookup_file_by_inode (const char *); 31121054Semaxvoid update_hardlink_info (const char *); 32121054SemaxList *list_linked_files_on_disk (char *); 33121054Semaxint compare_linkage_lists (List *, List *); 34121054Semaxint find_checkedout_proc (Node *, void *); 35121054Semax#endif /* PRESERVE_PERMISSIONS_SUPPORT */ 36121054Semax