Merge branch 't/lib_arg_with'
[paraslash.git] / audiod.h
1 /*
2 * Copyright (C) 2006 Andre Noll <maan@tuebingen.mpg.de>
3 *
4 * Licensed under the GPL v2. For licencing details see COPYING.
5 */
6
7 /** \file audiod.h Symbols exported from audiod.c. */
8
9
10 /** enum of audio formats supported by para_audiod */
11 enum {AUDIOD_AUDIO_FORMATS_ENUM};
12
13 /** array of audio format names supported by para_audiod */
14 extern const char *audio_formats[];
15
16 /**
17 * the possible modes of operation
18 *
19 * - off: disconnect from para_server
20 * - on: receive status information from para_server and play the audio stream
21 * - sb: only receive status information but not the audio stream
22 */
23 enum audiod_status_info {AUDIOD_OFF, AUDIOD_ON, AUDIOD_STANDBY};
24
25 /** defines one command of para_audiod */
26 struct audiod_command {
27 /** the name of the command */
28 const char *name;
29 /** pointer to the function that handles the command */
30 int (*handler)(int, int, char**);
31 /** one-line description of the command */
32 const char *description;
33 /** summary of the command line options */
34 const char *usage;
35 /** the long help text */
36 const char *help;
37 };
38
39 __malloc char *audiod_get_decoder_flags(void);
40 extern struct audiod_args_info conf;
41 extern int audiod_status;
42
43 int handle_connect(int accept_fd, fd_set *rfds);
44 void audiod_status_dump(bool force);
45 char *get_time_string(void);
46 struct btr_node *audiod_get_btr_root(void);
47
48 void stat_client_write_item(int item_num);
49 void clear_and_dump_items(void);
50 void close_stat_clients(void);