1 /*-----------------------------------------------------------------------
2 
3 File  : cio_fileops.h
4 
5 Author: Stephan Schulz
6 
7 Contents
8 
9   Simple operations on files.
10 
11   Copyright 1998, 1999 by the author.
12   This code is released under the GNU General Public Licence and
13   the GNU Lesser General Public License.
14   See the file COPYING in the main E directory for details..
15   Run "eprover -h" for contact information.
16 
17 Changes
18 
19 <1> Wed Jul 28 12:43:28 MET DST 1999
20     New
21 
22 -----------------------------------------------------------------------*/
23 
24 #ifndef CIO_FILEOPS
25 
26 #define CIO_FILEOPS
27 
28 #include <sys/stat.h>
29 #include <cio_output.h>
30 
31 /*---------------------------------------------------------------------*/
32 /*                    Data type declarations                           */
33 /*---------------------------------------------------------------------*/
34 
35 
36 
37 
38 /*---------------------------------------------------------------------*/
39 /*                Exported Functions and Variables                     */
40 /*---------------------------------------------------------------------*/
41 
42 
43 FILE* InputOpen(char *name, bool fail);
44 void  InputClose(FILE* file);
45 long  FileLoad(char* name, DStr_p dest);
46 long  ConcatFiles(char* target, char** sources);
47 long  CopyFile(char* target, char* source);
48 void  FileRemove(char* name);
49 void  FilePrint(FILE* out, char* name);
50 #define FileNameIsAbsolute(name) ((name)[0]=='/')
51 char* FileNameDirName(char* name);
52 char* FileFindBaseName(char *file);
53 char* FileNameBaseName(char* name);
54 char* FileNameStrip(char* name);
55 
56 #endif
57 
58 /*---------------------------------------------------------------------*/
59 /*                        End of File                                  */
60 /*---------------------------------------------------------------------*/
61