-enum ls_sorting_method {
- LS_SORT_BY_PATH, /* -sp (default) */
- LS_SORT_BY_SCORE, /* -ss */
- LS_SORT_BY_LAST_PLAYED, /* -sl */
- LS_SORT_BY_NUM_PLAYED, /* -sn */
- LS_SORT_BY_FREQUENCY, /* -sf */
- LS_SORT_BY_CHANNELS, /* -sc */
- LS_SORT_BY_IMAGE_ID, /* -si */
- LS_SORT_BY_LYRICS_ID, /* -sy */
- LS_SORT_BY_BITRATE, /* -sb */
- LS_SORT_BY_DURATION, /* -sd */
- LS_SORT_BY_AUDIO_FORMAT, /* -sa */
- LS_SORT_BY_HASH, /* -sh */
-};
-
-enum ls_listing_mode {
- LS_MODE_SHORT,
- LS_MODE_LONG,
- LS_MODE_VERBOSE,
- LS_MODE_MBOX
-};
-
-enum ls_flags {
- LS_FLAG_FULL_PATH = 1,
- LS_FLAG_ADMISSIBLE_ONLY = 2,
- LS_FLAG_REVERSE = 4,
-};
-
-struct ls_widths {
- unsigned short score_width;
- unsigned short image_id_width;
- unsigned short lyrics_id_width;
- unsigned short bitrate_width;
- unsigned short frequency_width;
- unsigned short duration_width;
- unsigned short num_played_width;
-};
-
-struct ls_data {
- struct audio_format_info afhi;
- struct afs_info afsi;
- char *path;
- long score;
- HASH_TYPE *hash;
-};
-
-struct ls_options {
- unsigned flags;
- enum ls_sorting_method sorting;
- enum ls_listing_mode mode;
- char **patterns;
- int num_patterns;
- struct ls_widths widths;
- uint32_t array_size;
- uint32_t num_matching_paths;
- struct ls_data *data;
- struct ls_data **data_ptr;
-};
-