#ifndef VFS_H #define VFS_H #include #include "vfsdef.h" typedef struct { char *fname; long date; char *relpath; /* Information suppl‚mentaire associ‚ au fichier */ /* ou NULL, permet de localiser dans l'archive */ } VFILE_SPEC; /* Controle r‚pertoire virtuel */ typedef struct { char fincl[PATH_MAX]; /* Nom du fichier contenu */ char fexcl[PATH_MAX]; /* Nom du fichier indiquant les fichiers */ /* … exclure */ int fincl_nb; /* Nombre d'‚l‚ment dans incl_files */ VFILE_SPEC *incl_files; /* Contenu du fichier fincl */ } FILEDIR; typedef enum { FILETYPE_REG, /* fichier ordinaire */ FILETYPE_DIR, /* directory */ FILETYPE_PIPE, /* pipe */ FILETYPE_DEVCHR, /* device */ FILETYPE_DEVBLK } FILETYPE; typedef struct { char name[PATH_MAX]; long size; unsigned long date; /* date de revision */ FILETYPE type; int inode; /* Inode controlant ce fichier */ int device; /* Device (file_system) ou est ce fichier */ int filler[9]; } FILEINFO; typedef struct{ char str[PATH_MAX]; } WILD; #define wild_maxsel 50 typedef struct { int nbsel; /* nombre de wsel */ WILD *tbsel[wild_maxsel]; int nbuns; /* nombre de wuns */ WILD *tbuns[wild_maxsel]; } WILD_SELECT; typedef struct { /* path_pushdir et popdir */ char path[PATH_MAX+1]; } SAVEPATH; #define MAXSIZ_PATH PATH_MAX #define MAXSIZ_NAME PATH_MAX #define MAXSIZ_EXTENSION PATH_MAX #define export #include #include "vfs.p" #endif