r1283: Added a whole load of 'const' modifiers so we can do extra checking...
[rox-filer.git] / ROX-Filer / src / diritem.h
blob29e213f47e0bd3281382ec70632f830e5ff8fc1e
1 /*
2 * $Id$
4 * Thomas Leonard, <tal197@users.sourceforge.net>
5 */
8 #ifndef _DIRITEM_H
9 #define _DIRITEM_H
11 #include <sys/types.h>
13 typedef enum
15 ITEM_FLAG_SYMLINK = 0x01, /* Is a symlink */
16 ITEM_FLAG_APPDIR = 0x02, /* Contains an AppRun */
17 ITEM_FLAG_MOUNT_POINT = 0x04, /* Is in mtab or fstab */
18 ITEM_FLAG_MOUNTED = 0x08, /* Is in /etc/mtab */
19 ITEM_FLAG_EXEC_FILE = 0x20, /* File, and has an X bit set */
20 ITEM_FLAG_MAY_DELETE = 0x40, /* Delete on finishing scan */
21 } ItemFlags;
23 struct _DirItem
25 char *leafname;
26 gboolean may_delete; /* Not yet found, this scan */
27 int base_type;
28 int flags;
29 mode_t mode;
30 off_t size;
31 time_t atime, ctime, mtime;
32 MaskedPixmap *image; /* NULL => leafname only so far */
33 MIME_type *mime_type;
34 uid_t uid;
35 gid_t gid;
36 int lstat_errno; /* 0 if details are valid */
39 void diritem_init(void);
40 DirItem *diritem_new(const guchar *leafname);
41 void diritem_restat(const guchar *path, DirItem *item);
42 void diritem_free(DirItem *item);
44 #endif /* _DIRITEM_H */