File: file.h

package info (click to toggle)
dnprogs 2.18-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 1,896 kB
  • ctags: 3,051
  • sloc: ansic: 18,586; cpp: 9,436; makefile: 669; sh: 502; awk: 13
file content (65 lines) | stat: -rw-r--r-- 1,807 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
// Generic class for a file.
#ifndef _PJC_FILE_H
#define _PJC_FILE_H

#ifndef TRUE
#define TRUE  1
#define FALSE 0
#endif

#ifndef MAX_PATH
#define MAX_PATH 1024
#endif

class file
{
 public:
    file();
    virtual ~file() {};

    virtual int   setup_link(unsigned int bufsize, int rfm, int rat, int xfer_mode) = 0;
    virtual int   open(char *mode) = 0;
    virtual int   open(char *basename, char *mode) = 0;
    virtual int   close() = 0;
    virtual int   read(char *buf,  int len) = 0;
    virtual int   write(char *buf, int len) = 0;
    virtual int   next() = 0;
    virtual void  perror(char *) = 0;
    virtual char *get_basename(int keep_version) = 0;
    virtual char *get_printname() = 0;
    virtual char *get_printname(char *filename) = 0;
    virtual char *get_format_name() = 0;
    virtual int   get_umask() = 0;
    virtual int   set_umask(int mask) = 0;
    virtual bool  eof() = 0;
    virtual bool  isdirectory() = 0;
    virtual bool  iswildcard() = 0;
    virtual int   max_buffersize(int biggest) = 0;

// Some constants

    static const int MODE_DEFAULT = -1;
    static const int MODE_RECORD = 1;
    static const int MODE_BLOCK  = 2;

    static const int RAT_DEFAULT = -1; // Use RMS defaults
    static const int RAT_FTN  = 1; // RMS RAT values from fab.h
    static const int RAT_CR   = 2;
    static const int RAT_PRN  = 4;
    static const int RAT_NONE = 0;

    static const int RFM_DEFAULT = -1; // Use RMS defaults
    static const int RFM_UDF = 0; // RMS RFM values from fab.h
    static const int RFM_FIX = 1;
    static const int RFM_VAR = 2;
    static const int RFM_VFC = 3;
    static const int RFM_STM = 4;
    static const int RFM_STMLF = 5;
    static const int RFM_STMCR = 6;
    
 private:
    // Disable copy constructor
    file(const file &);
};

#endif