nuclear@0: #ifndef PACKIO_H_ nuclear@0: #define PACKIO_H_ nuclear@0: nuclear@0: struct pack_file; nuclear@0: nuclear@0: /* not sure I like this capitalization, but it matches the libc counterparts */ nuclear@0: typedef struct pack_file PACKFILE; nuclear@0: nuclear@0: nuclear@0: int pack_init(void); nuclear@0: void pack_cleanup(void); nuclear@1: int pack_addpk(const char *pkfname); nuclear@0: nuclear@0: int pack_exists(const char *path); nuclear@0: nuclear@0: /* file i/o */ nuclear@0: PACKFILE *pack_fopen(const char *path, const char *mode); nuclear@0: int pack_fclose(PACKFILE *fp); nuclear@0: nuclear@0: int pack_feof(PACKFILE *fp); nuclear@0: long pack_filesize(PACKFILE *fp); nuclear@0: nuclear@0: int pack_fseek(PACKFILE *fp, long offs, int whence); nuclear@0: long pack_ftell(PACKFILE *fp); nuclear@0: void pack_rewind(PACKFILE *fp); nuclear@0: nuclear@0: size_t pack_fread(void *ptr, size_t size, size_t nmemb, PACKFILE *fp); nuclear@0: size_t pack_fwrite(void *ptr, size_t size, size_t nmemb, PACKFILE *fp); nuclear@0: nuclear@0: int pack_fgetc(PACKFILE *fp); nuclear@0: char *pack_fgets(char *buf, int size, PACKFILE *fp); nuclear@0: nuclear@0: nuclear@0: #endif /* PACKIO_H_ */