Subversion Repositories eduke32

Rev

Rev 6158 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6158 Rev 7138
Line 1... Line 1...
1
#ifndef XMP_HIO_H
1
#ifndef XMP_HIO_H
2
#define XMP_HIO_H
2
#define XMP_HIO_H
3
3
-
 
4
#ifdef EDUKE32_DISABLED
4
#include <sys/types.h>
5
#include <sys/types.h>
5
#include <sys/stat.h>
6
#include <sys/stat.h>
-
 
7
#endif
6
#include <stddef.h>
8
#include <stddef.h>
7
#include "memio.h"
9
#include "memio.h"
8
10
9
#define HIO_HANDLE_TYPE(x) ((x)->type)
11
#define HIO_HANDLE_TYPE(x) ((x)->type)
10
12
11
typedef struct {
13
typedef struct {
-
 
14
#ifdef EDUKE32_DISABLED
12
#define HIO_HANDLE_TYPE_FILE    0
15
#define HIO_HANDLE_TYPE_FILE    0
-
 
16
#endif
13
#define HIO_HANDLE_TYPE_MEMORY  1
17
#define HIO_HANDLE_TYPE_MEMORY  1
14
        int type;
18
        int type;
15
        long size;
19
        long size;
16
        union {
20
        union {
-
 
21
#ifdef EDUKE32_DISABLED
17
                FILE *file;
22
                FILE *file;
-
 
23
#endif
18
                MFILE *mem;
24
                MFILE *mem;
19
        } handle;
25
        } handle;
20
        int error;
26
        int error;
21
} HIO_HANDLE;
27
} HIO_HANDLE;
22
28
Line 31... Line 37...
31
size_t  hio_read        (void *, size_t, size_t, HIO_HANDLE *);
37
size_t  hio_read        (void *, size_t, size_t, HIO_HANDLE *);
32
int     hio_seek        (HIO_HANDLE *, long, int);
38
int     hio_seek        (HIO_HANDLE *, long, int);
33
long    hio_tell        (HIO_HANDLE *);
39
long    hio_tell        (HIO_HANDLE *);
34
int     hio_eof         (HIO_HANDLE *);
40
int     hio_eof         (HIO_HANDLE *);
35
int     hio_error       (HIO_HANDLE *);
41
int     hio_error       (HIO_HANDLE *);
-
 
42
#ifdef EDUKE32_DISABLED
36
HIO_HANDLE *hio_open    (const void *, const char *);
43
HIO_HANDLE *hio_open    (const void *, const char *);
-
 
44
#endif
37
HIO_HANDLE *hio_open_mem  (const void *, long);
45
HIO_HANDLE *hio_open_mem  (const void *, long);
-
 
46
#ifdef EDUKE32_DISABLED
38
HIO_HANDLE *hio_open_file (FILE *);
47
HIO_HANDLE *hio_open_file (FILE *);
-
 
48
#endif
39
int     hio_close       (HIO_HANDLE *);
49
int     hio_close       (HIO_HANDLE *);
40
long    hio_size        (HIO_HANDLE *);
50
long    hio_size        (HIO_HANDLE *);
41
51
42
#endif
52
#endif