packio-simple

annotate include/packio.h @ 0:d81c3ae262a0

initial commit
author John Tsiombikas <nuclear@mutantstargoat.com>
date Sun, 09 Sep 2012 06:05:11 +0300
parents
children eb07de55d0e6
rev   line source
nuclear@0 1 #ifndef PACKIO_H_
nuclear@0 2 #define PACKIO_H_
nuclear@0 3
nuclear@0 4 struct pack_file;
nuclear@0 5 struct pack_dir;
nuclear@0 6
nuclear@0 7 #define PACK_NAME_MAX 256
nuclear@0 8
nuclear@0 9 struct pack_dirent {
nuclear@0 10 char d_name[PACK_NAME_MAX];
nuclear@0 11 };
nuclear@0 12
nuclear@0 13 /* not sure I like this capitalization, but it matches the libc counterparts */
nuclear@0 14 typedef struct pack_file PACKFILE;
nuclear@0 15 typedef struct pack_dir PACKDIR;
nuclear@0 16
nuclear@0 17
nuclear@0 18 int pack_init(void);
nuclear@0 19 void pack_cleanup(void);
nuclear@0 20 int pack_mount(const char *fname, const char *path);
nuclear@0 21
nuclear@0 22 int pack_exists(const char *path);
nuclear@0 23 int pack_isfile(const char *path);
nuclear@0 24 int pack_isdir(const char *path);
nuclear@0 25
nuclear@0 26
nuclear@0 27 /* file i/o */
nuclear@0 28 PACKFILE *pack_fopen(const char *path, const char *mode);
nuclear@0 29 int pack_fclose(PACKFILE *fp);
nuclear@0 30
nuclear@0 31 int pack_feof(PACKFILE *fp);
nuclear@0 32 long pack_filesize(PACKFILE *fp);
nuclear@0 33
nuclear@0 34 int pack_fseek(PACKFILE *fp, long offs, int whence);
nuclear@0 35 long pack_ftell(PACKFILE *fp);
nuclear@0 36 void pack_rewind(PACKFILE *fp);
nuclear@0 37
nuclear@0 38 size_t pack_fread(void *ptr, size_t size, size_t nmemb, PACKFILE *fp);
nuclear@0 39 size_t pack_fwrite(void *ptr, size_t size, size_t nmemb, PACKFILE *fp);
nuclear@0 40
nuclear@0 41 int pack_fgetc(PACKFILE *fp);
nuclear@0 42 char *pack_fgets(char *buf, int size, PACKFILE *fp);
nuclear@0 43
nuclear@0 44 /* directory handling */
nuclear@0 45 PACKDIR *pack_opendir(const char *name);
nuclear@0 46 int pack_closedir(PACKDIR *dir);
nuclear@0 47 struct pack_dirent *pack_readdir(PACKDIR *dir);
nuclear@0 48
nuclear@0 49
nuclear@0 50 #endif /* PACKIO_H_ */