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

📄 slpd_outgoing.h

📁 SLP协议在linux下的实现。此版本为1.2.1版。官方网站为www.openslp.org
💻 H
字号:
/***************************************************************************//*                                                                         *//* Project:     OpenSLP - OpenSource implementation of Service Location    *//*              Protocol Version 2                                         *//*                                                                         *//* File:        slpd_outgoing.h                                            *//*                                                                         *//* Abstract:    Handles "outgoing" network conversations requests made by  *//*              other agents to slpd. (slpd_incoming.c handles reqests     *//*              made by other agents to slpd)                              *//*                                                                         *//*-------------------------------------------------------------------------*//*                                                                         *//*     Please submit patches to http://www.openslp.org                     *//*                                                                         *//*-------------------------------------------------------------------------*//*                                                                         *//* Copyright (C) 2000 Caldera Systems, Inc                                 *//* 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 the name of Caldera Systems 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 THE CALDERA      *//* SYSTEMS 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 SLPD_OUTGOING_H_INCLUDED#include "slpd.h"/*=========================================================================*//* slpd includes                                                           *//*=========================================================================*/#include "slpd_socket.h"/*=========================================================================*/extern SLPList G_OutgoingSocketList;/*=========================================================================*//*=========================================================================*/void SLPDOutgoingAge(time_t seconds);/* Age the sockets in the outgoing list by the specified number of seconds.*//*                                                                         *//* seconds (IN) seconds to age each entry of the list                      *//*=========================================================================*//*=========================================================================*/void SLPDOutgoingHandler(int* fdcount,                         fd_set* readfds,                         fd_set* writefds);/* Handles all incoming requests that are pending on the specified file    *//* discriptors                                                             *//*                                                                         *//* fdcount  (IN/OUT) number of file descriptors marked in fd_sets          *//*                                                                         *//* readfds  (IN) file descriptors with pending read IO                     *//*                                                                         *//* writefds  (IN) file descriptors with pending read IO                    *//*=========================================================================*//*=========================================================================*/void SLPDOutgoingDatagramWrite(SLPDSocket* sock);/* Add a ready to write outgoing datagram socket to the outgoing list.     *//* The datagram will be written then sit in the list until it ages out     *//* (after  net.slp.unicastMaximumWait)                                     *//*                                                                         *//* sock (IN) the socket that will belong on the outgoing list              *//*=========================================================================*//*=========================================================================*/SLPDSocket* SLPDOutgoingConnect(struct in_addr* addr);/* Get a pointer to a connected socket that is associated with the         *//* outgoing socket list.  If a connected socket already exists on the      *//* outgoing list, a pointer to it is returned, otherwise a new connection  *//* is made and added to the outgoing list                                  *//*                                                                         *//* addr (IN) the address of the peer a connection is desired for           *//*                                                                         *//* returns: pointer to socket or null on error                             *//*=========================================================================*//*=========================================================================*/int SLPDOutgoingInit();/* Initialize outgoing socket list to have appropriate sockets for all     *//* network interfaces                                                      *//*                                                                         *//* Returns  Zero on success non-zero on error                              *//*=========================================================================*//*=========================================================================*/int SLPDOutgoingDeinit(int graceful);/* Deinitialize incoming socket list to have appropriate sockets for all   *//* network interfaces                                                      *//*                                                                         *//* graceful (IN) Do not close sockets with pending writes                  *//*                                                                         *//* Returns  Zero on success non-zero when pending writes remain            *//*=========================================================================*/#ifdef DEBUG/*=========================================================================*/void SLPDOutgoingSocketDump();/*=========================================================================*/#endif#endif

⌨️ 快捷键说明

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