#ifndef LS_OPTIONS_H
#define LS_OPTIONS_H
typedef struct options
{
int block_size; /* 512, 1024, etc. */
int classify_special_files; /* -F */
int directories_as_files_and_no_symlink_indir; /* -d */
int include_hidden_files; /* -A */
int include_all_files; /* -a */
char long_format; /* -l, -n */
int nonprint_mode; /* 'q', 'w' */
int recurse; /* -R */
int reports_size_in_kilobytes; /* -k */
int report_size_nicely; /* -h */
int show_blocks_used; /* -s */
int show_inode_number; /* -i */
int sort_none; /* -f */
int sort_reverse; /* -r */
int sort_size; /* -S */
int sort_time; /* -t (-c, -u) */
char time_field; /* 'm'=mtime, 'c'=ctime, 'u'=atime */
int valid_arguments_passed;
} ls_options_t;
extern ls_options_t ls_options;
#define BLOCKSIZE_DEFAULT 512
#define HUMANIZE_BUFSIZ 5
/*
* Options that ls(1) appears to have for humanizing:
* No space (e.g., 5k)
* Round nicely by doing magic as far as I am concerned
* Append the B for bytes when < 1 kb or so
*/
#define HUMANIZE_OPTIONS (HN_NOSPACE | HN_DECIMAL | HN_B)
#endif