xref: /netbsd-src/external/gpl2/gettext/dist/gnulib-local/lib/backupfile.h (revision 946379e7b37692fc43f68eb0d1c10daa0a7f3b6c)
1 /* backupfile.h -- declarations for making Emacs style backup file names
2    Copyright (C) 1990-1992, 1997-1999, 2001-2003 Free Software Foundation, Inc.
3 
4    This program is free software; you can redistribute it and/or modify
5    it under the terms of the GNU General Public License as published by
6    the Free Software Foundation; either version 2, or (at your option)
7    any later version.
8 
9    This program is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12    GNU General Public License for more details.
13 
14    You should have received a copy of the GNU General Public License
15    along with this program; see the file COPYING.
16    If not, write to the Free Software Foundation,
17    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
18 
19 #ifndef BACKUPFILE_H_
20 # define BACKUPFILE_H_
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 
27 /* When to make backup files. */
28 enum backup_type
29 {
30   /* Never make backups. */
31   none,
32 
33   /* Make simple backups of every file. */
34   simple,
35 
36   /* Make numbered backups of files that already have numbered backups,
37      and simple backups of the others. */
38   numbered_existing,
39 
40   /* Make numbered backups of every file. */
41   numbered
42 };
43 
44 # define VALID_BACKUP_TYPE(Type)	\
45   ((Type) == none			\
46    || (Type) == simple			\
47    || (Type) == numbered_existing	\
48    || (Type) == numbered)
49 
50 extern DLL_VARIABLE char const *simple_backup_suffix;
51 
52 extern char *find_backup_file_name (char const *file,
53 				    enum backup_type backup_type);
54 extern enum backup_type get_version (char const *context, char const *arg);
55 extern enum backup_type xget_version (char const *context, char const *arg);
56 extern void addext (char *filename, char const *ext, char e);
57 
58 
59 #ifdef __cplusplus
60 }
61 #endif
62 
63 #endif /* ! BACKUPFILE_H_ */
64