#ifndef _DWC_ADDRLIST_H
#define _DWC_ADDRLIST_H

/*--------------------------------------------------------------------------
 *  Copyright (c) 2001-2004 Igor Daniloff. 
 *	All rights reserved.
 *
 * By using this file, you agree to the terms and conditions set
 * forth in the LICENSE file which can be found at this directory.
 *------------------------------------------------------------------------*/
 
/* $Id: dwc_addrlist.h,v 1.7 2005/09/21 09:20:43 asv Exp $ */

#include "dwc_queue.h"
#include "dwc_type.h"
#include "dwc_ipc.h"

#ifdef  __cplusplus
extern "C" {
#endif

typedef struct dwc_addrentry_st     *dwc_addrentry_t;
typedef struct dwc_addrlist_st      *dwc_addrlist_t; 

extern dwc_addrlist_t   dwc_addrlist_create( void );
extern dwc_bool_t       dwc_addrlist_add( dwc_addrlist_t list, const char* address, dwc_timeout_t timeout, dwc_bool_t cache );
extern dwc_addrentry_t  dwc_addrlist_get( dwc_addrlist_t list, dwc_addrentry_t entry );
extern dwc_void_t       dwc_addrlist_delete( dwc_addrlist_t list );

extern DWC_ipc_type_t       dwc_addrentry_ipc_type( dwc_addrentry_t entry );
extern DWC_ipc_addr_ptr_t   dwc_addrentry_ipc_addr( dwc_addrentry_t entry );
extern DWC_timeout_t        dwc_addrentry_timeout( dwc_addrentry_t entry );

#ifdef  __cplusplus
}
#endif

#endif /* _DWC_ADDRLIST_H */
