]>
cygwin.com Git - cygwin-apps/setup.git/blob - io_stream_cygfile.h
2 * Copyright (c) 2001, Robert Collins.
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 of the License, or
7 * (at your option) any later version.
9 * A copy of the GNU General Public License can be found at
12 * Written by Robert Collins <rbtcollins@hotmail.com>
16 #ifndef _IO_STREAM_CYGFILE_H_
17 #define _IO_STREAM_CYGFILE_H_
19 #include "io_stream.h"
22 /* io_stream on disk files using cygwin paths
23 * and potentially understanding links in the future
26 extern int cygmkdir_p (enum path_type_t isadir
, String
const &path
);
28 class io_stream_cygfile
:public io_stream
31 static int exists (String
const &);
32 static int remove (String
const &);
33 static int mklink (String
const &, String
const &, io_stream_link_t
);
34 io_stream_cygfile (String
const &, String
const &);
35 virtual ~ io_stream_cygfile ();
36 /* read data (duh!) */
37 virtual ssize_t
read (void *buffer
, size_t len
);
38 /* provide data to (double duh!) */
39 virtual ssize_t
write (const void *buffer
, size_t len
);
40 /* read data without removing it from the class's internal buffer */
41 virtual ssize_t
peek (void *buffer
, size_t len
);
43 virtual int seek (long where
, io_stream_seek_t whence
);
44 /* can't guess, oh well */
46 virtual int set_mtime (int);
47 /* not relevant yet */
48 virtual int get_mtime ()
52 virtual size_t get_size ();
53 static int move (String
const &,String
const &);
55 /* always require parameters */
59 friend int cygmkdir_p (enum path_type_t isadir
, String
const &_name
);
60 static String
normalise (String
const &unixpath
);
68 #endif /* _IO_STREAM_CYGFILE_H_ */
This page took 0.036556 seconds and 5 git commands to generate.