X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=server.h;h=86d4f17393adc94cbd524e9d0ac8e74565a9148b;hp=0cdd0e609c907ccb1cb8e58b0502413f86079ce6;hb=61250cf03241bf73662dac3753e44660a572fa2a;hpb=cb6d1dfb9e4067229a4bbde0abd05784d97ef14b diff --git a/server.h b/server.h index 0cdd0e60..86d4f173 100644 --- a/server.h +++ b/server.h @@ -17,7 +17,7 @@ struct server_command { /** the name of the command */ const char *name; /** pointer to the function that handles the command */ - int (*handler)(int, int, char **); + int (*handler)(int, int, char * const * const); /** the privileges a user must have to execute this command */ unsigned int perms; /** one-line description of the command */ @@ -59,57 +59,60 @@ struct sender_command_data{ * date. */ struct misc_meta_data { -/** information on the current audio file */ + /** information on the current audio file */ struct audio_format_info afi; -/** the size of the current audio file in bytes */ + /** the size of the current audio file in bytes */ size_t size; -/** the full path of the current audio file */ + /** the full path of the current audio file */ char filename[_POSIX_PATH_MAX]; -/** the last modification file of the current audio file */ + /** the last modification file of the current audio file */ time_t mtime; -/** the number of the current audio format */ + /** the number of the current audio format */ int audio_format; -/** the "old" status flags -- commands may only read them */ + /** the "old" status flags -- commands may only read them */ unsigned int vss_status_flags; -/** the new status flags -- commands may set them **/ + /** The new status flags -- commands may set them. */ unsigned int new_vss_status_flags; -/** the number of data chunks sent for the current audio file */ + /** the number of data chunks sent for the current audio file */ long unsigned chunks_sent; -/** set by the jmp/ff commands to the new position in chunks */ + /** set by the jmp/ff commands to the new position in chunks */ long unsigned repos_request; -/** the number of the chunk currently sent out*/ + /** The number of the chunk currently sent out. */ long unsigned current_chunk; -/** the milliseconds that have been skipped of the current audio file */ + /** the milliseconds that have been skipped of the current audio file */ long offset; -/** the time para_server started to stream */ + /** the time para_server started to stream */ struct timeval stream_start; -/** the event counter - * - * commands may increase this to force a status update to be sent to all - * connected clients -*/ + /** + * The event counter. + * + * Commands may increase this to force a status update to be sent to all + * connected clients. + */ unsigned int events; -/** the number of audio files already sent */ + /** the number of audio files already sent */ unsigned int num_played; -/** the number of executed commands */ + /** the number of executed commands */ unsigned int num_commands; -/** the number of connections para_server received so far */ + /** the number of connections para_server received so far */ unsigned int num_connects; -/** the number of connections currently active */ + /** the number of connections currently active */ unsigned int active_connections; -/** the process id of para_server */ + /** the process id of para_server */ pid_t server_pid; -/** a string that gets filled in by the current audio file selector */ + /** a string that gets filled in by the current audio file selector */ char selector_info[MMD_INFO_SIZE]; -/** the number if the current audio file selector */ + /** The number of the current audio file selector. */ int selector_num; -/** commands set this to non-zero to change the current selector */ + /** commands set this to non-zero to change the current selector */ int selector_change; -/** used by the sender command */ + /** used by the sender command */ struct sender_command_data sender_cmd_data; + struct audio_file_data afd; }; extern struct server_args_info conf; +extern int afs_socket; int handle_connect(int fd, struct sockaddr_in *addr); void mmd_unlock(void);