X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=server.h;h=bd2b0500fbc2d6d0a729b4ad27ba2144bb6c882f;hp=fcda7a3ace835d65c0e960640291396e62f628ea;hb=0a2aa419ef9fcdb667ebcbe1a425802578aa153d;hpb=1f556ae88bd8c85d4452f689f532f5a6abeabe92 diff --git a/server.h b/server.h index fcda7a3a..bd2b0500 100644 --- a/server.h +++ b/server.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1997-2006 Andre Noll + * Copyright (C) 1997-2007 Andre Noll * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,49 +19,27 @@ /** \file server.h common server data structures */ #include "para.h" - +#include /** size of the selector_info and audio_file info strings of struct misc_meta_data */ #define MMD_INFO_SIZE 16384 -/** - * permission flags that can be set individually for any server command - * - * - DB_READ: command reads from the database - * - DB_WRITE: command changes the contents of the database - * - AFS_READ: command reads information about the current audio stream - * - AFS_WRITE: command changes the current audio stream - */ -enum {DB_READ = 1, DB_WRITE = 2, AFS_READ = 4, AFS_WRITE = 8}; - -/** - * data needed to authenticate the user - */ -struct user{ -/** the username */ - char name[MAXLINE]; -/** full path to the public RSA key */ - char pubkey_file[_POSIX_PATH_MAX]; -/** the privileges of this user */ - unsigned int perms; -}; - /** * defines one command of para_server */ struct server_command { /** the name of the command */ - char *name; + const char *name; /** pointer to the function that handles the command */ int (*handler)(int, int, char **); /** the privileges a user must have to execute this command */ unsigned int perms; /** one-line description of the command */ - char *description; + const char *description; /** summary of the command line options */ - char *synopsis; + const char *synopsis; /** the long help text */ - char *help; + const char *help; }; /** holds the arguments for the para_server's sender command */ @@ -104,9 +82,9 @@ struct misc_meta_data{ /* the number of the current audio format */ int audio_format; /** the "old" status flags -- commands may only read them */ - unsigned int afs_status_flags; + unsigned int vss_status_flags; /** the new status flags -- commands may set them **/ - unsigned int new_afs_status_flags; + unsigned int new_vss_status_flags; /** the number of data chunks sent for the current audio file */ long unsigned chunks_sent; /** the number of chunks this audio file contains */ @@ -149,6 +127,7 @@ struct misc_meta_data{ struct sender_command_data sender_cmd_data; }; +extern struct server_args_info conf; int handle_connect(int fd, struct sockaddr_in *addr); void mmd_unlock(void);