+struct status_task {
+ int fd;
+ struct task task;
+ char buf[STRINGSIZE];
+ unsigned loaded;
+};
+static struct status_task status_task_struct, *stat_task = &status_task_struct;
+
+struct audiod_task {
+ struct task task;
+};
+static struct audiod_task audiod_task_struct, *at = &audiod_task_struct;
+
+struct signal_task {
+ int fd;
+ int signum;
+ struct task task;
+};
+
+
+/** defines one command of para_audiod */
+struct audiod_command {
+ /** the name of the command */
+ const char *name;
+ /** pointer to the function that handles the command */
+ int (*handler)(int, int, char**);
+ int (*line_handler)(int, char*);
+ /** one-line description of the command */
+ const char *description;
+ /** summary of the command line options */
+ const char *synopsis;
+ /** the long help text */
+ const char *help;
+};
+static int com_grab(int, char *);
+static int com_cycle(int, int, char **);
+static int com_help(int, int, char **);
+static int com_off(int, int, char **);
+static int com_on(int, int, char **);
+static int com_sb(int, int, char **);
+static int com_stat(int, int, char **);
+static int com_term(int, int, char **);