X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=aft.c;h=e643e01a18b1121703ddac0445421cc6f910195b;hp=0f15cd28e96cf726275508faa63b07d4a75e190b;hb=a629e649da99e06460f0cb93af7359f45d9b059a;hpb=15151d60026dfe17cfaad02284d0abbb8b9389b2 diff --git a/aft.c b/aft.c index 0f15cd28..e643e01a 100644 --- a/aft.c +++ b/aft.c @@ -1,3 +1,11 @@ +/* + * Copyright (C) 2007 Andre Noll + * + * Licensed under the GPL v2. For licencing details see COPYING. + */ + +/** \file aft.c Audio file table functions. */ + #include "para.h" #include "error.h" #include @@ -12,6 +20,50 @@ static struct osl_table *audio_file_table; +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; +}; + /** * Describes the layout of the mmapped-afs info struct. *