packio

view include/packio.h @ 0:a71bd70c1014

simple pack-file I/O library
author John Tsiombikas <nuclear@member.fsf.org>
date Sat, 03 Jan 2015 15:29:05 +0200
parents
children a5728bc6a02f
line source
1 #ifndef PACKIO_H_
2 #define PACKIO_H_
4 typedef struct pkio_file PKIO_FILE;
5 typedef struct pkio_dir PKIO_DIR;
7 #define PKIO_MAX_NAME 256
8 struct pkio_dirent {
9 char d_name[PKIO_MAX_NAME];
10 };
12 struct pkio_stat {
13 unsigned int st_mode;
14 unsigned long st_size;
15 };
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
21 extern int pkio_errno;
23 int pkio_fopen(const char *path);
24 int pkio_fclose(PKIO_FILE *fp);
26 int pkio_fseek(PKIO_FILE *fp, long offset, int whence);
27 long pkio_ftell(PKIO_FILE *fp);
28 void pkio_rewind(PKIO_FILE *fp);
30 size_t pkio_fread(void *buf, size_t size, size_t nitems, PKIO_FILE *fp);
31 size_t pkio_fwrite(void *buf, size_t size, size_t nitems, PKIO_FILE *fp);
33 int pkio_fgetc(PKIO_FILE *fp);
34 int pkio_fputc(int c, PKIO_FILE *fp);
36 char *pkio_fgets(char *buf, int size, PKIO_FILE *fp);
37 int pkio_fputs(char *buf, PKIO_FILE *fp);
39 int pkio_fscanf(PKIO_FILE *fp, const char *fmt, ...);
40 int pkio_vfscanf(PKIO_FILE *fp, const char *fmt, va_list ap);
41 int pkio_fprintf(PKIO_FILE *fp, const char *fmt, ...);
42 int pkio_vfprintf(PKIO_FILE *fp, const char *fmt, va_list ap);
44 void pkio_clearerr(PKIO_FILE *fp);
45 int pkio_feof(PKIO_FILE *fp);
46 int pkio_ferror(PKIO_FILE *fp);
48 PKIO_DIR *pkio_opendir(const char *dirname);
49 int pkio_closedir(PKIO_DIR *dir);
50 struct pkio_dirent *pkio_readdir(PKIO_DIR *dir);
51 void pkio_rewinddir(PKIO_DIR *dir);
53 int pkio_stat(const char *path, struct pkio_stat *buf);
55 #ifdef __cplusplus
56 }
57 #endif
59 #endif /* PACKIO_H_ */