xref: /openbsd/gnu/usr.bin/cvs/src/hardlink.h (revision b6f6614e)
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 struct hardlink_info
21 {
22     Ctype status;		/* as returned from Classify_File() */
23     int checked_out;		/* has this file been checked out lately? */
24 };
25 
26 extern List *hardlist;
27 extern char *working_dir;
28 
29 Node *lookup_file_by_inode PROTO ((const char *));
30 void update_hardlink_info PROTO ((const char *));
31 List *list_linked_files_on_disk PROTO ((char *));
32 int compare_linkage_lists PROTO ((List *, List *));
33 int find_checkedout_proc PROTO ((Node *, void *));
34