📄 miniserver.h
字号:
/************************************************************************ * * Copyright (c) 2000-2003 Intel Corporation * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * Neither name of Intel Corporation nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ************************************************************************/#ifndef MINISERVER_H#define MINISERVER_H#include "sock.h"#include "httpparser.h"extern SOCKET gMiniServerStopSock;typedef struct MServerSockArray { /* socket for listening for miniserver requests */ int miniServerSock; /* socket for stopping miniserver */ int miniServerStopSock; /* socket for incoming advertisments and search requests */ int ssdpSock; int stopPort; int miniServerPort; /* socket for sending search requests and receiving search replies */ CLIENTONLY(int ssdpReqSock;)} MiniServerSockArray;typedef void (*MiniServerCallback)( IN http_parser_t *parser, IN http_message_t* request, IN SOCKINFO *info );#ifdef __cplusplusextern "C" {#endif/************************************************************************ * Function: SetHTTPGetCallback * * Parameters: * MiniServerCallback callback; - HTTP Callback to be invoked * * Description: Set HTTP Get Callback * * Return: void ************************************************************************/void SetHTTPGetCallback( MiniServerCallback callback );/************************************************************************ * Function: SetSoapCallback * * Parameters: * MiniServerCallback callback; - SOAP Callback to be invoked * * Description: Set SOAP Callback * * Return: void ************************************************************************/#ifdef INCLUDE_DEVICE_APISvoid SetSoapCallback( MiniServerCallback callback );#else /* INCLUDE_DEVICE_APIS */static inline void SetSoapCallback( MiniServerCallback callback ) {}#endif /* INCLUDE_DEVICE_APIS *//************************************************************************ * Function: SetGenaCallback * * Parameters: * MiniServerCallback callback; - GENA Callback to be invoked * * D6escription: Set GENA Callback * * Return: void ************************************************************************/void SetGenaCallback( MiniServerCallback callback );/************************************************************************ * Function: StartMiniServer * * Parameters: * unsigned short listen_port ; Port on which the server listens for * incoming connections * * Description: Initialize the sockets functionality for the * Miniserver. Initialize a thread pool job to run the MiniServer * and the job to the thread pool. If listen port is 0, port is * dynamically picked * * Use timer mechanism to start the MiniServer, failure to meet the * allowed delay aborts the attempt to launch the MiniServer. * * Return: int; * Actual port socket is bound to - On Success: * A negative number UPNP_E_XXX - On Error ************************************************************************/int StartMiniServer( unsigned short listen_port );/************************************************************************ * Function: StopMiniServer * * Parameters: * void; * * Description: Stop and Shutdown the MiniServer and free socket resources. * * Return : int; * Always returns 0 ************************************************************************/int StopMiniServer();#ifdef __cplusplus} /* extern C */#endif#endif /* MINISERVER_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -