#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <stdio.h>
#include <limits.h>
#include <time.h>
#include "dbDefs.h"
#include "epicsAssert.h"
#include "fdmgr.h"
#include "envDefs.h"
#include "osiSock.h"
#include "epicsStdio.h"
Go to the source code of this file.
Definition at line 90 of file iocLogServer.c.
92 struct sockaddr_in serverAddr;
101 fprintf(
stderr,
"iocLogServer: EPICS environment underspecified\n");
102 fprintf(
stderr,
"iocLogServer: failed to initialize\n");
107 calloc(1,
sizeof *pserver);
109 fprintf(
stderr,
"iocLogServer: %s\n", strerror(errno));
115 fprintf(
stderr,
"iocLogServer: %s\n", strerror(errno));
127 fprintf(
stderr,
"iocLogServer: sock create err: %s\n", sockErrBuf);
135 memset((
void *)&serverAddr, 0,
sizeof serverAddr);
136 serverAddr.sin_family = AF_INET;
137 serverAddr.sin_port = htons(ioc_log_port);
140 status = bind ( pserver->
sock,
141 (
struct sockaddr *)&serverAddr,
142 sizeof (serverAddr) );
146 fprintf(
stderr,
"iocLogServer: bind err: %s\n", sockErrBuf );
148 "iocLogServer: a server is already installed on port %u?\n",
149 (
unsigned)ioc_log_port);
154 status = listen(pserver->
sock, 10);
158 fprintf(
stderr,
"iocLogServer: listen err %s\n", sockErrBuf);
174 fprintf(
stderr,
"iocLogServer: ioctl FIONBIO err %s\n", sockErrBuf);
179 status = setupSIGHUP(pserver);
185 status = openLogFile(pserver);
188 "File access problems to `%s' because `%s'\n",
202 "iocLogServer: failed to add read callback\n");
LIBCOM_API int epicsStdCall fdmgr_pend_event(fdctx *pfdctx, struct timeval *ptimeout)
void epicsSocketConvertErrnoToString(char *pBuf, unsigned bufSize)
#define socket_ioctl(A, B, C)
LIBCOM_API SOCKET epicsStdCall epicsSocketCreate(int domain, int type, int protocol)
LIBCOM_API void epicsStdCall epicsSocketEnableAddressReuseDuringTimeWaitState(SOCKET s)
BSD and SRV5 Unix timestamp.
LIBCOM_API int epicsStdCall fdmgr_add_callback(fdctx *pfdctx, SOCKET fd, enum fdi_type fdi, pCallBackFDMgr pFunc, void *pParam)
LIBCOM_API fdctx *epicsStdCall fdmgr_init(void)