⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 server.c

📁 ipp打印机服务器原代码 注意:请将ipp.gz改为ipp.tar.gz 然后使用tar zxvf ipp.tar.gz解压 站长注意
💻 C
字号:
/* * "$Id: server.c,v 1.19 2005/01/03 19:29:59 mike Exp $" * *   Server start/stop routines for the Common UNIX Printing System (CUPS). * *   Copyright 1997-2005 by Easy Software Products, all rights reserved. * *   These coded instructions, statements, and computer programs are the *   property of Easy Software Products and are protected by Federal *   copyright law.  Distribution and use rights are outlined in the file *   "LICENSE.txt" which should have been included with this file.  If this *   file is missing or damaged please contact Easy Software Products *   at: * *       Attn: CUPS Licensing Information *       Easy Software Products *       44141 Airport View Drive, Suite 204 *       Hollywood, Maryland 20636 USA * *       Voice: (301) 373-9600 *       EMail: cups-info@cups.org *         WWW: http://www.cups.org * * Contents: * *   StartServer() - Start the server. *   StopServer()  - Stop the server. *//* * Include necessary headers... */#if	0#include <cups/http-private.h>#endif#include "cupsd.h"#include <grp.h>/* * 'StartServer()' - Start the server. */voidStartServer(void){#ifdef HAVE_LIBSSL  int		i;		/* Looping var */  struct timeval curtime;	/* Current time in microseconds */  unsigned char	data[1024];	/* Seed data */#endif /* HAVE_LIBSSL */#ifdef HAVE_LIBSSL /*  * Initialize the encryption libraries...  */  SSL_library_init();  SSL_load_error_strings(); /*  * Using the current time is a dubious random seed, but on some systems  * it is the best we can do (on others, this seed isn't even used...)  */  gettimeofday(&curtime, NULL);  srand(curtime.tv_sec + curtime.tv_usec);  for (i = 0; i < sizeof(data); i ++)    data[i] = rand(); /* Yes, this is a poor source of random data... */  RAND_seed(&data, sizeof(data));#elif defined(HAVE_GNUTLS) /*  * Initialize the encryption libraries...  */  gnutls_global_init();#elif defined(HAVE_CDSASSL)  ServerCertificatesArray = CDSAGetServerCerts();#endif /* HAVE_LIBSSL */ /*  * Startup all the networking stuff...  */  StartListening();#if	0  StartBrowsing();  StartPolling();#endif /*  * Create a pipe for CGI processes...  */  if (cupsdOpenPipe(CGIPipes))    LogMessage(L_ERROR, "StartServer: Unable to create pipes for CGI status!");  else  {    LogMessage(L_DEBUG2, "StartServer: Adding fd %d to InputSet...", CGIPipes[0]);    FD_SET(CGIPipes[0], InputSet);  }  DEBUG_printf(("Function StartServer()\n")); }/* * 'StopServer()' - Stop the server. */voidStopServer(void){ /*  * Close all network clients and stop all jobs...  */  CloseAllClients();  StopListening();#if	0  StopPolling();  StopBrowsing();#endif  if (Clients != NULL)  {    free(Clients);    Clients = NULL;  }#if	0#if defined(HAVE_SSL) && defined(HAVE_CDSASSL) /*  * Free all of the certificates...  */  if (ServerCertificatesArray)  {    CFRelease(ServerCertificatesArray);    ServerCertificatesArray = NULL;  }#endif /* HAVE_SSL && HAVE_CDSASSL */#endif#if	0 /*  * Close the pipe for CGI processes...  */  if (CGIPipes[0] >= 0)  {    LogMessage(L_DEBUG2, "StopServer: Removing fd %d from InputSet...",               CGIPipes[0]);    FD_CLR(CGIPipes[0], InputSet);    cupsdClosePipe(CGIPipes);  }#endif /*  * Close all log files...  */  if (AccessFile != NULL)  {    cupsFileClose(AccessFile);    AccessFile = NULL;  }  if (ErrorFile != NULL)  {    cupsFileClose(ErrorFile);    ErrorFile = NULL;  }  if (PageFile != NULL)  {    cupsFileClose(PageFile);    PageFile = NULL;  }    DEBUG_printf(("Function StopServer() \n")); }/* * End of "$Id: server.c,v 1.19 2005/01/03 19:29:59 mike Exp $". */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -