1 /*------------------------------------------------------------------------- 2 * Copyright (C) 2000 Caldera Systems, Inc 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 9 * Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 12 * Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 16 * Neither the name of Caldera Systems nor the names of its 17 * contributors may be used to endorse or promote products derived 18 * from this software without specific prior written permission. 19 * 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 * `AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE CALDERA 24 * SYSTEMS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 28 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 *-------------------------------------------------------------------------*/ 32 33 /** Header file for outgoing network conversations. 34 * 35 * @file slpd_outgoing.h 36 * @author Matthew Peterson, John Calcote (jcalcote@novell.com) 37 * @attention Please submit patches to http://www.openslp.org 38 * @ingroup SlpdCode 39 */ 40 41 #ifndef SLPD_OUTGOING_H_INCLUDED 42 #define SLPD_OUTGOING_H_INCLUDED 43 44 /*!@defgroup SlpdCodeOutGoing Outgoing Conversations */ 45 46 /*!@addtogroup SlpdCodeOutGoing 47 * @ingroup SlpdCode 48 * @{ 49 */ 50 51 #include "slp_types.h" 52 #include "slpd_socket.h" 53 #include "slpd.h" 54 55 extern SLPList G_OutgoingSocketList; 56 57 void SLPDOutgoingAge(time_t seconds); 58 void SLPDOutgoingHandler(int * fdcount, SLPD_fdset * fdset); 59 void SLPDOutgoingRetry(time_t seconds); 60 int SLPDHaveOutgoingConnectedSocket(struct sockaddr_storage* addr); 61 void SLPDOutgoingDatagramWrite(SLPDSocket * sock, SLPBuffer buffer); 62 void SLPDOutgoingDatagramMcastWrite(SLPDSocket * sock, struct sockaddr_storage *maddr, SLPBuffer buffer); 63 SLPDSocket * SLPDOutgoingConnect(int is_TCP, struct sockaddr_storage * addr); 64 int SLPDOutgoingInit(void); 65 int SLPDOutgoingDeinit(int graceful); 66 67 #ifdef DEBUG 68 void SLPDOutgoingSocketDump(void); 69 #endif 70 71 /*! @} */ 72 73 #endif /* SLPD_OUTGOING_H_INCLUDED */ 74 75 /*=========================================================================*/ 76