1 #include <sys/param.h>
2 
3 #ifndef MAXPATHLEN
4 #define MAXPATHLEN     1024     /* max length of directory name */
5 #endif
6 #define PATSZ          20       /* max length of pattern */
7 
8 #define SORTNAME       1        /* sort by name */
9 #define SORTEXT        2        /* sort by extension */
10 #define SORTTIME       3        /* sort by time */
11 #define SORTSIZE       4        /* sort by size */
12 #define SORTSKIP       5        /* unsorted */
13 
14 #ifdef SHORTNAMES
15 #   define NAMESZ 15
16 #else
17 #   define NAMESZ 63
18 #endif
19 
20 struct file {
21 	char name [NAMESZ];     /* file name */
22 	char *info;             /* file info */
23 	char *rinfo;            /* file info in russian */
24 	unsigned execable:1;    /* file is executable for me */
25 	unsigned tag:1;         /* file tagged */
26 	unsigned link:1;        /* symbolic link */
27 	unsigned infoflag:1;    /* info is read */
28 	unsigned dateflag:1;    /* date is read from info file */
29 	unsigned long size;     /* file size */
30 	unsigned short mode;    /* access mode */
31 	unsigned short uid;     /* user ident */
32 	unsigned short gid;     /* group ident */
33 	unsigned short nlink;   /* number of file links */
34 	short dev;              /* device */
35 	short rdev;             /* special file parameters */
36 	unsigned long ino;      /* i-node */
37 	unsigned long mtime;    /* modification time */
38 	unsigned long atime;    /* access time */
39 	unsigned long ctime;    /* status change time */
40 	unsigned long infodate; /* date from info file */
41 };
42 
43 struct dir {
44 	char cwd [MAXPATHLEN];  /* directory full name */
45 	char *shortcwd;         /* short printable directory name */
46 	short dev;              /* device */
47 	unsigned long ino;      /* i-node */
48 	struct file *cat;       /* catalog */
49 	int catsz;              /* length of catalog */
50 	int num;                /* number of files in cat */
51 	int topfile;            /* top file in the window */
52 	int curfile;            /* current file */
53 	char view;              /* view format */
54 	char status;            /* is it status window */
55 	char sort;              /* sort kind */
56 	char typesort;          /* sort by file types */
57 	char revsort;           /* reverse sorting */
58 	char alignext;          /* align extensions */
59 	int basecol;            /* base of window */
60 	int nfiles;             /* number of regular files */
61 	long nbytes;            /* number of bytes used */
62 	int mfiles;             /* number of matched files */
63 	long mbytes;            /* number of bytes matched */
64 	int tfiles;             /* number of tagged files */
65 	long tbytes;            /* number of bytes tagged */
66 	char pattern [PATSZ];   /* pattern for file names */
67 };
68