Sophie

Sophie

distrib > Mandriva > 2009.1 > x86_64 > by-pkgid > d90d9d7fd893f8089d43570a6d730497 > files > 18

afbackup-debug-3.4-2mdv2008.0.x86_64.rpm

/****************** Start of $RCSfile: netutils.h,v $  ****************
*
* $Source: /home/alb/afbackup/afbackup-3.3.9beta4/RCS/netutils.h,v $
* $Id: netutils.h,v 1.3 2004/07/08 20:34:45 alb Exp alb $
* $Date: 2004/07/08 20:34:45 $
* $Author: alb $
*
*
******* description ***********************************************
*
*
*
*******************************************************************/

#include <lconf.h>

#ifndef __NETUTILS_H
#define	__NETUTILS_H	__NETUTILS_H

#include <stdio.h>
#include <sys/types.h>
#ifdef	HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif
#include <sys/socket.h>
#include <netdb.h>
#include <netinet/in.h>

#include <x_types.h>
#include <genutils.h>
#include <sysutils.h>

#define	TCPMUX_INETD_STARTED		1
#define	TCPMUX_STOP_ON_LAST_CLOSE	( TCPMUX_INETD_STARTED << 1 )

typedef	struct _tcpmux_input_done_actions {
  Flag	*conns_to_close;
  Flag	have_conns_to_close;
} TcpMuxCallbDoneActions;

typedef	struct _node_address_space {
  char	just_space[256];
}	nodeaddr;

#ifdef	__cplusplus
extern	"C"	{
#endif

extern	int	open_tcpip_conn(UChar *, UChar *, Int32);
extern	int	open_tcpip_conn_forced(UChar *, UChar *, Int32, Int32);
extern	int	get_tcp_portnum(UChar *);
extern	Int8	same_host(UChar *, UChar *);
extern	Int32	set_ip_throughput(int);
extern	Int32	set_tcp_nodelay(int, Flag);
extern	Int32	set_socket_keepalive(int);
extern	UChar	*get_connected_peername(int);
extern	UChar	*get_hostnamestr(struct sockaddr *);
extern	UChar	*get_my_off_hn();
extern	struct hostent	*get_host_by_name(UChar *);
extern	struct hostent	*get_host_by_addr(void *, int, int);
extern	struct hostent	*get_host_by_sockaddr(struct sockaddr *);
extern	UChar	*addr_to_string(int, void *);
extern	Int32	set_tcp_sockaddr_hp(struct sockaddr *, struct hostent *, int);
extern	Int32	anon_tcp_sockaddr(struct sockaddr *, Int32 *, int);
extern	void	*inaddr_from_sockaddr(struct sockaddr *, Int32 *);
extern	Int32	tcp_mux_service(int, UChar *,
			void *(*)(int, Int32, void *, struct sockaddr *,
					void *, TcpMuxCallbDoneActions *),
			Int32 (*)(int, void *, Int32, void *,
					TcpMuxCallbDoneActions *, void *),
			Int32 (*)(int, void *, Int32, void *, void *),
			Int32, void (*)(int, void *, void *), Uns32, void *);
extern	Int32	tcp_mux_long_io(void *, int, UChar *, Int32, Int32,
					Int32 (*)(int, UChar *, Int32));
#define	tcp_mux_long_write(tmstat, fd, data, num)	\
		tcp_mux_long_io(tmstat, fd, data, num, 1, write_forced)
#define	tcp_mux_long_read(tmstat, fd, data, num)	\
		tcp_mux_long_io(tmstat, fd, data, num, 0, read_forced)

#ifdef	__cplusplus
}
#endif

#endif	/* ! defined(__NETUTILS_H) */