/
file.h
26 lines (20 loc) · 830 Bytes
/
file.h
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
/* Functions to handle logging and low level file functions */
#include <stdio.h>
#include <stdarg.h>
#include <zlib.h>
#include "install.h"
typedef struct {
char *path;
char mode;
size_t size;
FILE *fp;
gzFile zfp;
} stream;
extern stream *file_open(install_info *info,const char *path,const char *mode);
extern int file_read(install_info *info, void *buf, int len, stream *streamp);
extern int file_write(install_info *info, void *buf, int len, stream *streamp);
extern int file_eof(install_info *info, stream *streamp);
extern int file_close(install_info *info, stream *streamp);
extern int file_symlink(install_info *info, const char *from, const char *to);
extern int file_mkdir(install_info *info, const char *path, int mode);
extern int file_chmod(install_info *info, const char *path, int mode);