X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=afs.h;h=76b819058642db7ffb81acf5eaa268f3cae37f3a;hp=aeaf8fb8189535ec44dbcd14d19f472b710f81d7;hb=d3af91481ef4a00c26530b7238552666424f0b6f;hpb=ef81b9f4f0fa6a26043c68d429c0deeb7c949351 diff --git a/afs.h b/afs.h index aeaf8fb8..76b81905 100644 --- a/afs.h +++ b/afs.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2009 Andre Noll + * Copyright (C) 2007-2010 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -97,7 +97,13 @@ struct afs_table { void *data); }; -enum play_mode {PLAY_MODE_MOOD, PLAY_MODE_PLAYLIST}; +/** How audio files are selected by afs. */ +enum play_mode { + /** Admissible files are determined by a mood definition. */ + PLAY_MODE_MOOD, + /** All listed files are admissible. */ + PLAY_MODE_PLAYLIST, +}; /** * Data about one audio file. @@ -125,10 +131,25 @@ struct audio_file_data { struct afh_info afhi; }; +/** + * Codes used for communication between the server and the afs process. + * + * Before forking the afs child, para_server creates a bidirectional pipe + * through which both processes communicate. Usually para_server requests a new + * audio in order to start streaming or when the end of the current audio file + * has been reached. The afs process responds to such a request by sending + * back an eight byte buffer. The first four bytes is the uint32_t + * representation of the code, usually \p NEXT_AUDIO_FILE if an admissible + * audio file was found, successfully opened and verified. The other four bytes + * represent the shared memory id of the shared memory area that contains + * details about the audio file to be streamed next. The open file descriptor + * of that file is also passed from afs to para_server through the same pipe. + */ enum afs_server_code { + /** An audio file was successfully opened. */ NEXT_AUDIO_FILE, + /** No admissible audio file was found. */ NO_ADMISSIBLE_FILES, - AFD_CHANGE }; /** Flags passed to for_each_matching_row(). */