1 /** \file lib/file-entry.h 2 * \brief Header: file entry definition 3 */ 4 5 #ifndef MC__ILE_ENTRY_H 6 #define MC__ILE_ENTRY_H 7 8 #include <sys/types.h> 9 #include <sys/stat.h> 10 11 #include "lib/global.h" /* include <glib.h> */ 12 13 /*** typedefs(not structures) and defined constants **********************************************/ 14 15 /*** enums ***************************************************************************************/ 16 17 /*** structures declarations (and typedefs of structures)*****************************************/ 18 19 /* keys are set only during sorting */ 20 typedef struct 21 { 22 /* File name */ 23 GString *fname; 24 /* File attributes */ 25 struct stat st; 26 /* Key used for comparing names */ 27 char *name_sort_key; 28 /* Key used for comparing extensions */ 29 char *extension_sort_key; 30 31 /* Flags */ 32 struct 33 { 34 unsigned int marked:1; /* File marked in pane window */ 35 unsigned int link_to_dir:1; /* If this is a link, does it point to directory? */ 36 unsigned int stale_link:1; /* If this is a symlink and points to Charon's land */ 37 unsigned int dir_size_computed:1; /* Size of directory was computed with dirsizes_cmd */ 38 } f; 39 } file_entry_t; 40 41 /*** global variables defined in .c file *********************************************************/ 42 43 /*** declarations of public functions ************************************************************/ 44 45 /* --------------------------------------------------------------------------------------------- */ 46 /*** inline functions ****************************************************************************/ 47 /* --------------------------------------------------------------------------------------------- */ 48 49 #endif /* MC__FILE_ENTRY_H */