BEAST - Free Software Audio Synthesizer and Tracker  0.10.0
gslfilehash.hh
Go to the documentation of this file.
1  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
2 #ifndef __GSL_FILE_HASH_H__
3 #define __GSL_FILE_HASH_H__
4 
5 #include <bse/gsldefs.hh>
6 #include <bse/gslcommon.hh>
7 
8 #ifdef __cplusplus
9 extern "C" {
10 #endif /* __cplusplus */
11 
12 
13 
14 /* --- typedefs & structures --- */
15 typedef struct {
16  gchar *file_name;
17  GTime mtime;
18  GslLong n_bytes;
19  /*< private >*/
20  GslLong cpos;
21  Bse::Mutex mutex;
22  gint fd;
23  guint ocount;
24  GslLong zoffset;
25 } GslHFile;
26 typedef struct {
27  GslHFile *hfile;
28  GslLong offset;
29 } GslRFile;
30 
31 
32 /* --- GslHFile API --- */
33 GslHFile* gsl_hfile_open (const gchar *file_name);
34 GslLong gsl_hfile_pread (GslHFile *hfile,
35  GslLong offset,
36  GslLong n_bytes,
37  gpointer bytes);
38 GslLong gsl_hfile_zoffset (GslHFile *hfile);
39 void gsl_hfile_close (GslHFile *hfile);
40 
41 
42 /* --- GslRFile API --- */
43 GslRFile* gsl_rfile_open (const gchar *file_name);
44 gchar* gsl_rfile_name (GslRFile *rfile);
45 GslLong gsl_rfile_pread (GslRFile *rfile,
46  GslLong offset,
47  GslLong n_bytes,
48  gpointer bytes);
49 GslLong gsl_rfile_read (GslRFile *rfile,
50  GslLong n_bytes,
51  gpointer bytes);
52 GslLong gsl_rfile_seek_set (GslRFile *rfile,
53  GslLong offset);
54 GslLong gsl_rfile_position (GslRFile *rfile);
55 GslLong gsl_rfile_length (GslRFile *rfile);
56 void gsl_rfile_close (GslRFile *rfile);
57 
58 
59 #ifdef __cplusplus
60 }
61 #endif /* __cplusplus */
62 
63 #endif /* __GSL_FILE_HASH_H__ */
GslLong gsl_rfile_length(GslRFile *rfile)
Definition: gslfilehash.cc:376
Definition: gslfilehash.hh:15
Definition: gslfilehash.hh:26
void gsl_rfile_close(GslRFile *rfile)
Definition: gslfilehash.cc:441
void gsl_hfile_close(GslHFile *hfile)
Definition: gslfilehash.cc:124
GslLong gsl_rfile_pread(GslRFile *rfile, GslLong offset, GslLong n_bytes, gpointer bytes)
Definition: gslfilehash.cc:399
GslLong gsl_hfile_zoffset(GslHFile *hfile)
Definition: gslfilehash.cc:239
GslHFile * gsl_hfile_open(const gchar *file_name)
Definition: gslfilehash.cc:73
gchar * gsl_rfile_name(GslRFile *rfile)
Definition: gslfilehash.cc:321
GslLong gsl_hfile_pread(GslHFile *hfile, GslLong offset, GslLong n_bytes, gpointer bytes)
Definition: gslfilehash.cc:167
GslLong gsl_rfile_read(GslRFile *rfile, GslLong n_bytes, gpointer bytes)
Definition: gslfilehash.cc:420
GslLong gsl_rfile_position(GslRFile *rfile)
Definition: gslfilehash.cc:360
GslRFile * gsl_rfile_open(const gchar *file_name)
Definition: gslfilehash.cc:298
GslLong gsl_rfile_seek_set(GslRFile *rfile, GslLong offset)
Definition: gslfilehash.cc:338