/*
* Copyright (C) 1997-2007 Andre Noll <maan@systemlinux.org>
*
- * 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
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
+ * Licensed under the GPL v2. For licencing details see COPYING.
*/
/** \file server.c Paraslash's main server */
#include "server.cmdline.h"
-#include "db.h"
+#include "afs.h"
#include "server.h"
#include "vss.h"
#include "config.h"
/** shut down non-authorized connections after that many seconds */
#define ALARM_TIMEOUT 10
-/* these are exported to vss.c. command.c and to all selectors */
+/**
+ * pointer to shared memory area for communication between para_server
+ * and its children. exported to vss.c. command.c and to all selectors.
+ */
struct misc_meta_data *mmd;
-/** the configuration of para_server
+
+/**
+ * the configuration of para_server
*
- * It also contains the options for all audio file selectors and all supported
- * senders.
-*/
+ * It also contains the options for all audio file selectors, audio format handler
+ * and all supported senders.
+ */
struct server_args_info conf;
+
+/** the file containing user information (public key, permissions) */
char *user_list_file = NULL;
+
extern void dccp_send_init(struct sender *);
extern void http_send_init(struct sender *);
extern void ortp_send_init(struct sender *);
static void init_random_seed(void)
{
- int fd, ret = -1, len = sizeof(unsigned int);
+ int fd, ret = -1;
unsigned int seed;
+ size_t len = sizeof(unsigned int);
fd = open("/dev/urandom", O_RDONLY);
if (fd < 0)
if (conf.daemon_given)
daemon_init();
init_selector();
+// PARA_ERROR_LOG("num: %d\n", mmd->selector_num);
PARA_NOTICE_LOG("%s", "initializing virtual streaming system\n");
vss_init();
mmd->server_pid = getpid();
}
}
-/*
- * MAIN
+/**
+ * the main function of para_server
+ *
+ * \param argc usual argument count
+ * \param argv usual argument vector
+ *
+ * \return EXIT_SUCCESS or EXIT_FAILURE
+ *
*/
int main(int argc, char *argv[])
{