nuclear@0: #ifndef PVFS_H_ nuclear@0: #define PVFS_H_ nuclear@0: nuclear@0: #include nuclear@0: #include nuclear@0: #include nuclear@0: nuclear@0: typedef struct PVFS_FILE PVFS_FILE; nuclear@0: typedef struct PVFS_DIR PVFS_DIR; nuclear@0: nuclear@0: struct pvfs_dirent { nuclear@0: char d_name[256]; nuclear@0: }; nuclear@0: nuclear@0: struct pvfs_stat { nuclear@0: unsigned int st_mode; nuclear@0: unsigned long st_size; nuclear@0: }; nuclear@0: nuclear@0: extern int pvfs_errno; nuclear@0: nuclear@0: #ifdef __cplusplus nuclear@0: extern "C" { nuclear@0: #endif nuclear@0: nuclear@0: /* mount some target (which can be a directory or a pack filename) */ nuclear@0: int pvfs_mount(const char *mntpoint, const char *target); nuclear@0: int pvfs_umount(const char *mntpoint); nuclear@0: nuclear@0: int pvfs_chdir(const char *path); nuclear@0: int pvfs_mkdir(const char *path, unsigned int mode); /* XXX mode is ignored */ nuclear@0: nuclear@0: PVFS_FILE *pvfs_fopen(const char *fname, const char *mode); nuclear@0: int pvfs_fclose(PVFS_FILE *fp); nuclear@0: nuclear@0: int pvfs_fseek(PVFS_FILE *fp, long offset, int whence); nuclear@0: long pvfs_ftell(PVFS_FILE *fp); nuclear@0: void pvfs_rewind(PVFS_FILE *fp); nuclear@0: nuclear@0: size_t pvfs_fread(void *buf, size_t size, size_t nitems, PVFS_FILE *fp); nuclear@1: size_t pvfs_fwrite(void *buf, size_t size, size_t nitems, PVFS_FILE *fp); nuclear@0: nuclear@0: int pvfs_fgetc(PVFS_FILE *fp); nuclear@0: int pvfs_fputc(int c, PVFS_FILE *fp); nuclear@0: nuclear@0: char *pvfs_fgets(char *buf, int size, PVFS_FILE *fp); nuclear@0: int pvfs_fputs(char *buf, PVFS_FILE *fp); nuclear@0: nuclear@0: int pvfs_fscanf(PVFS_FILE *fp, const char *fmt, ...); nuclear@0: int pvfs_vfscanf(PVFS_FILE *fp, const char *fmt, va_list ap); nuclear@0: int pvfs_fprintf(PVFS_FILE *fp, const char *fmt, ...); nuclear@0: int pvfs_vfprintf(PVFS_FILE *fp, const char *fmt, va_list ap); nuclear@0: nuclear@0: void pvfs_clearerr(PVFS_FILE *fp); nuclear@0: int pvfs_feof(PVFS_FILE *fp); nuclear@0: int pvfs_ferror(PVFS_FILE *fp); nuclear@0: nuclear@0: PVFS_DIR *pvfs_opendir(const char *dirname); nuclear@0: int pvfs_closedir(PVFS_DIR *dir); nuclear@0: struct pvfs_dirent *pvfs_readdir(PVFS_DIR *dir); nuclear@0: void pvfs_rewinddir(PVFS_DIR *dir); nuclear@0: nuclear@0: int pvfs_stat(const char *path, struct pvfs_stat *buf); nuclear@0: nuclear@0: #ifdef __cplusplus nuclear@0: } nuclear@0: #endif nuclear@0: nuclear@0: #endif /* PVFS_H_ */