X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=aft.c;h=9a22fe81d67006992d5dbb7e775bc37bbc68e094;hp=39e94a945e0b9b8c47d29e6bb59d799491f2f9e4;hb=cf2dd5eac38421fdeaaccd08ec34efe27f9a858d;hpb=43e0a7f669d782e73513119b7140dc4e56bcc3d7 diff --git a/aft.c b/aft.c index 39e94a94..9a22fe81 100644 --- a/aft.c +++ b/aft.c @@ -652,6 +652,18 @@ err: return ret; } +/** + * Extract a afd stored in a shared memory area. + * + * Attach the shared memory area given by \a shmid, load the audio file data + * stored therein and detach the area afterwards. Called by vss, after + * receiving a positive response to the request for the next audio file. + + + * \param shmid The identifier of the shared memory area containing the afd. + * \param afd Result pointer. + * + * \return Standard. + */ int load_afd(int shmid, struct audio_file_data *afd) { void *shm_afd; @@ -2446,6 +2458,18 @@ static void afs_stat_callback(int fd, const struct osl_object *query) pass_buffer_as_shm(buf, strlen(buf), &fd); } +/** + * Get the current afs status items from the afs process and send it using RC4. + * + * \param rc4c The rc4 context for data encryption. + * \param parser_friendly Whether parser-friendly output format should be used. + * + * As the contents of the afs status items change in time and the command + * handler only has a COW version created at fork time, it can not send + * up-to-date afs status items directly. Therefore the usual callback mechanism + * is used to pass the status items from the afs process to the command handler + * via a shared memory area and a pipe. + */ int send_afs_status(struct rc4_context *rc4c, int parser_friendly) { struct osl_object query = {.data = &parser_friendly, @@ -2610,6 +2634,11 @@ static int aft_event_handler(enum afs_events event, struct para_buffer *pb, } } +/** + * Initialize the audio file table. + * + * \param t Pointer to the structure to be initialized. + */ void aft_init(struct afs_table *t) { t->open = aft_open;