00001 #include <sys/select.h>
00002 #include <string.h>
00003 #include <stdlib.h>
00004
00005 #include "../include/server.h"
00006 #include "../include/socket.h"
00007 #include "../include/monitor.h"
00008 #include "../include/logRotate.h"
00009
00010 void
00011 serverInit(
00012 tServer * server,
00013 unsigned int port,
00014 unsigned int pending,
00015 const char * logPath,
00016 const char * namePat)
00017 {
00018 FD_ZERO(&(server->socks));
00019
00020 server->servSock = initServerSocket(port, pending);
00021 server->maxFd = server->servSock;
00022 FD_SET(server->servSock, &(server->socks));
00023
00024 strncpy(server->logPath, logPath, sizeof(server->logPath)-1);
00025 strncpy(server->namePat, namePat, sizeof(server->namePat)-1);
00026
00027 memset(server->clients, 0, sizeof(server->clients));
00028
00029
00030
00031
00032 if (NULL == server->wHandle) {
00033 logRotate(&(server->wHandle), server->logPath, server->namePat);
00034 if (NULL == server->wHandle) {
00035 syslogMonitor(LOG_ERR, MON_INFO, "logfile.rotate",
00036 "no valid handle for logfile - service terminated");
00037 exit(EXIT_FAILURE);
00038 }
00039 }
00040 }