File: unixfile.h

package info (click to toggle)
dnprogs 2.52
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 3,644 kB
  • ctags: 4,021
  • sloc: ansic: 26,737; cpp: 10,666; makefile: 832; sh: 537; awk: 13
file content (43 lines) | stat: -rw-r--r-- 1,207 bytes parent folder | download | duplicates (4)
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

class unixfile: public file
{
 public:
    unixfile(const char *name);
    unixfile();
    ~unixfile();

    virtual int setup_link(unsigned int bufsize, int rfm, int rat, int xfer_mode, int flags, int timeout);

    virtual int   open(const char *mode);
    virtual int   open(const char *basename, const char *mode);
    virtual int   close();
    virtual int   read(char *buf,  int len);
    virtual int   write(char *buf, int len);
    virtual int   next();
    virtual void  perror(const char *);
    virtual char *get_basename(int keep_version);
    virtual char *get_printname();
    virtual char *get_printname(char *filename);
    virtual const char *get_format_name();
    virtual int   get_umask();
    virtual int   set_umask(int mask);
    virtual bool  eof();
    virtual bool  isdirectory();
    virtual bool  iswildcard();
    virtual int   max_buffersize(int biggest);

 protected:
    char   filename[MAX_PATH+1];
    char   printname[MAX_PATH+1];
    FILE  *stream;
    int    user_rfm;
    int    user_rat;
    int    transfer_mode;
    char  *record_buffer;
    int    record_ptr;
    int    record_buflen;
    unsigned int block_size;

    static const int RECORD_BUFSIZE = 4096;
};