// file dumsocks.c
#ifdef OS_WIN32
WSADATA wsaData;
#endif
int server_port = 0;
int console_output = TRUE;
char d_log_file[256];
void main(int argc, char **argv)
{
int isterm;
if (argc == 1)
{
usage();
exit(0);
}
if (!parse_comline(argc, argv))
exit(0);
if (!srv_initialize())
exit(0);
while(1)
{
if (ipc_server_wait())
{
isterm = process_request();
(void)ipc_close_client();
}
if (isterm)
break;
}
#ifdef OS_WIN32
WSACleanup();
#endif
exit(0);
}
int srv_initialize(void)
{
char localhost[128];
int ret;
#ifdef OS_WIN32
if (WSAStartup(WINSOCK_VERSION, &wsaData))
{
WSACleanup();
return(FALSE);
}
#endif
if (!ipc_init(localHost, server_port))
{
#ifdef OS_WIN32
WSACleanup();
#endif
return(FALSE);
}
if ((ret = sloc_initialize()) != SL_OK)
{
#ifdef OS_WIN32
WSACleanup();
#endif
return(FALSE);
}
if ((ret = sloc_add(DM_SERVICE_NAME,
localHost, server_port,
(char *)NULL)) != SL_OK)
{
#ifdef OS_WIN32
WSACleanup();
#endif
return(FALSE);
}
return(TRUE);
}