afs.c: Introduce client list for afs (fixes dosable bug).
[paraslash.git] / afs.h
diff --git a/afs.h b/afs.h
index f4f0222..7167da4 100644 (file)
--- a/afs.h
+++ b/afs.h
@@ -12,7 +12,7 @@
 struct afs_info {
        /** Seconds since the epoch. */
        uint64_t last_played;
 struct afs_info {
        /** Seconds since the epoch. */
        uint64_t last_played;
-       /** Bitfield of set attributes. */
+       /** Bit field of set attributes. */
        uint64_t attributes;
        /** Counts how many times the file was selected. */
        uint32_t num_played;
        uint64_t attributes;
        /** Counts how many times the file was selected. */
        uint32_t num_played;
@@ -72,7 +72,6 @@ int send_option_arg_callback_request(struct osl_object *options,
 int stdin_command(int fd, struct osl_object *arg_obj, callback_function *f,
                unsigned max_len, struct osl_object *result);
 int string_compare(const struct osl_object *obj1, const struct osl_object *obj2);
 int stdin_command(int fd, struct osl_object *arg_obj, callback_function *f,
                unsigned max_len, struct osl_object *result);
 int string_compare(const struct osl_object *obj1, const struct osl_object *obj2);
-int para_atol(const char *str, long *result);
 int open_next_audio_file(struct audio_file_data *afd);
 int close_audio_file(struct audio_file_data *afd);
 int for_each_matching_row(struct pattern_match_data *pmd);
 int open_next_audio_file(struct audio_file_data *afd);
 int close_audio_file(struct audio_file_data *afd);
 int for_each_matching_row(struct pattern_match_data *pmd);
@@ -100,11 +99,13 @@ int get_attribute_text(uint64_t *atts, const char *delim, char **text);
 /* aft */
 int aft_init(struct table_info *ti, const char *db);
 void aft_shutdown(enum osl_close_flags flags);
 /* aft */
 int aft_init(struct table_info *ti, const char *db);
 void aft_shutdown(enum osl_close_flags flags);
-int aft_get_row_of_path(char *path, struct osl_row **row);
+int aft_get_row_of_path(const char *path, struct osl_row **row);
 int open_and_update_audio_file(struct osl_row *aft_row, struct audio_file_data *afd);
 int load_afsi(struct afs_info *afsi, struct osl_object *obj);
 void save_afsi(struct afs_info *afsi, struct osl_object *obj);
 int get_afsi_of_row(const struct osl_row *row, struct afs_info *afsi);
 int open_and_update_audio_file(struct osl_row *aft_row, struct audio_file_data *afd);
 int load_afsi(struct afs_info *afsi, struct osl_object *obj);
 void save_afsi(struct afs_info *afsi, struct osl_object *obj);
 int get_afsi_of_row(const struct osl_row *row, struct afs_info *afsi);
+int get_afhi_of_row(const struct osl_row *row, struct audio_format_info *afhi);
+int get_afsi_of_path(const char *path, struct afs_info *afsi);
 int get_audio_file_path_of_row(const struct osl_row *row, char **path);
 int get_afsi_object_of_row(const struct osl_row *row, struct osl_object *obj);
 int audio_file_loop(void *private_data, osl_rbtree_loop_func *func);
 int get_audio_file_path_of_row(const struct osl_row *row, char **path);
 int get_afsi_object_of_row(const struct osl_row *row, struct osl_object *obj);
 int audio_file_loop(void *private_data, osl_rbtree_loop_func *func);
@@ -135,6 +136,7 @@ int playlist_check_callback(__a_unused const struct osl_object *query,
        int table_name ## _init(struct table_info *ti, const char *db); \
        void table_name ## _shutdown(enum osl_close_flags flags); \
        int cmd_prefix ## _get_name_by_id(uint32_t id, char **name); \
        int table_name ## _init(struct table_info *ti, const char *db); \
        void table_name ## _shutdown(enum osl_close_flags flags); \
        int cmd_prefix ## _get_name_by_id(uint32_t id, char **name); \
+       int cmd_prefix ## _get_def_by_id(uint32_t id, struct osl_object *def); \
        int cmd_prefix ## _get_name_and_def_by_row(const struct osl_row *row, \
                char **name, struct osl_object *def); \
        extern struct osl_table *table_name ## _table;
        int cmd_prefix ## _get_name_and_def_by_row(const struct osl_row *row, \
                char **name, struct osl_object *def); \
        extern struct osl_table *table_name ## _table;