xref: /plan9/sys/src/ape/cmd/patch/backupfile.h (revision 0b459c2cb92b7c9d88818e9a2f72e678e5bc4553)
1*0b459c2cSDavid du Colombier /* backupfile.h -- declarations for making Emacs style backup file names
2*0b459c2cSDavid du Colombier    Copyright (C) 1990, 1991, 1992, 1997 Free Software Foundation, Inc.
3*0b459c2cSDavid du Colombier 
4*0b459c2cSDavid du Colombier    This program is free software; you can redistribute it and/or modify
5*0b459c2cSDavid du Colombier    it under the terms of the GNU General Public License as published by
6*0b459c2cSDavid du Colombier    the Free Software Foundation; either version 2, or (at your option)
7*0b459c2cSDavid du Colombier    any later version.
8*0b459c2cSDavid du Colombier 
9*0b459c2cSDavid du Colombier    This program is distributed in the hope that it will be useful,
10*0b459c2cSDavid du Colombier    but WITHOUT ANY WARRANTY; without even the implied warranty of
11*0b459c2cSDavid du Colombier    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12*0b459c2cSDavid du Colombier    GNU General Public License for more details.
13*0b459c2cSDavid du Colombier 
14*0b459c2cSDavid du Colombier    You should have received a copy of the GNU General Public License
15*0b459c2cSDavid du Colombier    along with this program; see the file COPYING.
16*0b459c2cSDavid du Colombier    If not, write to the Free Software Foundation,
17*0b459c2cSDavid du Colombier    59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
18*0b459c2cSDavid du Colombier 
19*0b459c2cSDavid du Colombier /* When to make backup files. */
20*0b459c2cSDavid du Colombier enum backup_type
21*0b459c2cSDavid du Colombier {
22*0b459c2cSDavid du Colombier   /* Never make backups. */
23*0b459c2cSDavid du Colombier   none,
24*0b459c2cSDavid du Colombier 
25*0b459c2cSDavid du Colombier   /* Make simple backups of every file. */
26*0b459c2cSDavid du Colombier   simple,
27*0b459c2cSDavid du Colombier 
28*0b459c2cSDavid du Colombier   /* Make numbered backups of files that already have numbered backups,
29*0b459c2cSDavid du Colombier      and simple backups of the others. */
30*0b459c2cSDavid du Colombier   numbered_existing,
31*0b459c2cSDavid du Colombier 
32*0b459c2cSDavid du Colombier   /* Make numbered backups of every file. */
33*0b459c2cSDavid du Colombier   numbered
34*0b459c2cSDavid du Colombier };
35*0b459c2cSDavid du Colombier 
36*0b459c2cSDavid du Colombier extern enum backup_type backup_type;
37*0b459c2cSDavid du Colombier extern char const *simple_backup_suffix;
38*0b459c2cSDavid du Colombier 
39*0b459c2cSDavid du Colombier #ifndef __BACKUPFILE_P
40*0b459c2cSDavid du Colombier # if defined __STDC__ || __GNUC__
41*0b459c2cSDavid du Colombier #  define __BACKUPFILE_P(args) args
42*0b459c2cSDavid du Colombier # else
43*0b459c2cSDavid du Colombier #  define __BACKUPFILE_P(args) ()
44*0b459c2cSDavid du Colombier # endif
45*0b459c2cSDavid du Colombier #endif
46*0b459c2cSDavid du Colombier 
47*0b459c2cSDavid du Colombier char *base_name __BACKUPFILE_P ((char const *));
48*0b459c2cSDavid du Colombier char *find_backup_file_name __BACKUPFILE_P ((char const *));
49*0b459c2cSDavid du Colombier enum backup_type get_version __BACKUPFILE_P ((char const *));
50*0b459c2cSDavid du Colombier void addext __BACKUPFILE_P ((char *, char const *, int));
51