File: serialfile.h

package info (click to toggle)
avfs 1.2.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,916 kB
  • sloc: ansic: 31,364; sh: 6,482; perl: 1,916; makefile: 351
file content (34 lines) | stat: -rw-r--r-- 1,133 bytes parent folder | download | duplicates (8)
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
/*
    AVFS: A Virtual File System Library
    Copyright (C) 1998-2001  Miklos Szeredi <miklos@szeredi.hu>

    This program can be distributed under the terms of the GNU GPL.
    See the file COPYING.
*/

#include "avfs.h"

#define SFILE_NOCACHE (1 << 0)

struct sfilefuncs {
    int       (*startget) (void *data, void **resp);
    avssize_t (*read)     (void *data, char *buf, avsize_t nbyte);
    int       (*startput) (void *data, void **resp);
    avssize_t (*write)    (void *data, const char *buf, avsize_t nbyte);
    int       (*endput)   (void *data);
};

struct sfile;

struct sfile *av_sfile_new(const struct sfilefuncs *func, void *data,
			   int flags);
avssize_t av_sfile_pread(struct sfile *fil, char *buf, avsize_t nbyte,
			 avoff_t offset);
avssize_t av_sfile_pwrite(struct sfile *fil, const char *buf, avsize_t nbyte,
			  avoff_t offset);
avoff_t av_sfile_size(struct sfile *fil);
int av_sfile_truncate(struct sfile *fil, avoff_t length);
int av_sfile_startget(struct sfile *fil);
int av_sfile_flush(struct sfile *fil);
void *av_sfile_getdata(struct sfile *fil);
avoff_t av_sfile_diskusage(struct sfile *fil);