2006-10-09 00:49:05 +04:00
/*
* Copyright ( C ) Jelmer Vernooij 2005 < jelmer @ samba . org >
* Copyright ( C ) Stefan Metzmacher 2006 < metze @ samba . org >
*
* All rights reserved .
*
* Redistribution and use in source and binary forms , with or without
* modification , are permitted provided that the following conditions
* are met :
*
* 1. Redistributions of source code must retain the above copyright
* notice , this list of conditions and the following disclaimer .
*
* 2. 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 .
*
* 3. Neither the name of the author 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 AUTHOR 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 AUTHOR 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 .
*
*/
2005-05-02 14:12:36 +04:00
# ifndef __SOCKET_WRAPPER_H__
# define __SOCKET_WRAPPER_H__
2008-06-10 10:53:34 +04:00
const char * socket_wrapper_dir ( void ) ;
2008-06-10 11:21:05 +04:00
unsigned int socket_wrapper_default_iface ( void ) ;
2006-09-19 02:12:56 +04:00
int swrap_socket ( int family , int type , int protocol ) ;
2005-05-02 14:12:36 +04:00
int swrap_accept ( int s , struct sockaddr * addr , socklen_t * addrlen ) ;
int swrap_connect ( int s , const struct sockaddr * serv_addr , socklen_t addrlen ) ;
int swrap_bind ( int s , const struct sockaddr * myaddr , socklen_t addrlen ) ;
2006-09-27 16:43:51 +04:00
int swrap_listen ( int s , int backlog ) ;
2005-05-02 14:12:36 +04:00
int swrap_getpeername ( int s , struct sockaddr * name , socklen_t * addrlen ) ;
int swrap_getsockname ( int s , struct sockaddr * name , socklen_t * addrlen ) ;
int swrap_getsockopt ( int s , int level , int optname , void * optval , socklen_t * optlen ) ;
int swrap_setsockopt ( int s , int level , int optname , const void * optval , socklen_t optlen ) ;
ssize_t swrap_recvfrom ( int s , void * buf , size_t len , int flags , struct sockaddr * from , socklen_t * fromlen ) ;
2006-09-19 02:12:56 +04:00
ssize_t swrap_sendto ( int s , const void * buf , size_t len , int flags , const struct sockaddr * to , socklen_t tolen ) ;
2009-05-26 05:43:37 +04:00
ssize_t swrap_sendmsg ( int s , const struct msghdr * msg , int flags ) ;
2011-03-03 17:37:17 +03:00
ssize_t swrap_recvmsg ( int s , struct msghdr * msg , int flags ) ;
2006-09-27 16:43:51 +04:00
int swrap_ioctl ( int s , int req , void * ptr ) ;
2006-09-19 02:12:56 +04:00
ssize_t swrap_recv ( int s , void * buf , size_t len , int flags ) ;
2009-09-08 07:31:01 +04:00
ssize_t swrap_read ( int s , void * buf , size_t len ) ;
2006-09-19 02:12:56 +04:00
ssize_t swrap_send ( int s , const void * buf , size_t len , int flags ) ;
2009-03-09 19:48:08 +03:00
int swrap_readv ( int s , const struct iovec * vector , size_t count ) ;
2012-07-27 17:08:05 +04:00
ssize_t swrap_writev ( int s , const struct iovec * vector , size_t count ) ;
2005-05-02 14:12:36 +04:00
int swrap_close ( int ) ;
2011-08-12 08:28:03 +04:00
int swrap_dup ( int oldfd ) ;
int swrap_dup2 ( int oldfd , int newfd ) ;
2005-05-02 14:12:36 +04:00
# ifdef SOCKET_WRAPPER_REPLACE
2006-07-01 01:52:16 +04:00
# ifdef accept
# undef accept
# endif
2005-07-03 14:20:03 +04:00
# define accept(s,addr,addrlen) swrap_accept(s,addr,addrlen)
2006-07-01 01:52:16 +04:00
# ifdef connect
# undef connect
# endif
2005-07-03 14:20:03 +04:00
# define connect(s,serv_addr,addrlen) swrap_connect(s,serv_addr,addrlen)
2006-07-01 01:52:16 +04:00
# ifdef bind
# undef bind
# endif
2005-07-03 14:20:03 +04:00
# define bind(s,myaddr,addrlen) swrap_bind(s,myaddr,addrlen)
2006-07-01 01:52:16 +04:00
2006-09-27 16:43:51 +04:00
# ifdef listen
# undef listen
# endif
# define listen(s,blog) swrap_listen(s,blog)
2006-07-01 01:52:16 +04:00
# ifdef getpeername
# undef getpeername
# endif
2005-07-03 14:20:03 +04:00
# define getpeername(s,name,addrlen) swrap_getpeername(s,name,addrlen)
2006-07-01 01:52:16 +04:00
# ifdef getsockname
# undef getsockname
# endif
2005-07-03 14:20:03 +04:00
# define getsockname(s,name,addrlen) swrap_getsockname(s,name,addrlen)
2006-07-01 01:52:16 +04:00
# ifdef getsockopt
# undef getsockopt
# endif
2005-07-03 14:20:03 +04:00
# define getsockopt(s,level,optname,optval,optlen) swrap_getsockopt(s,level,optname,optval,optlen)
2006-07-01 01:52:16 +04:00
# ifdef setsockopt
# undef setsockopt
# endif
2005-07-03 14:20:03 +04:00
# define setsockopt(s,level,optname,optval,optlen) swrap_setsockopt(s,level,optname,optval,optlen)
2006-07-01 01:52:16 +04:00
# ifdef recvfrom
# undef recvfrom
# endif
2005-07-03 14:20:03 +04:00
# define recvfrom(s,buf,len,flags,from,fromlen) swrap_recvfrom(s,buf,len,flags,from,fromlen)
2006-07-01 01:52:16 +04:00
# ifdef sendto
# undef sendto
# endif
2005-07-03 14:20:03 +04:00
# define sendto(s,buf,len,flags,to,tolen) swrap_sendto(s,buf,len,flags,to,tolen)
2006-07-01 01:52:16 +04:00
2009-05-26 05:43:37 +04:00
# ifdef sendmsg
# undef sendmsg
# endif
# define sendmsg(s,msg,flags) swrap_sendmsg(s,msg,flags)
2011-03-03 17:37:17 +03:00
# ifdef recvmsg
# undef recvmsg
# endif
# define recvmsg(s,msg,flags) swrap_recvmsg(s,msg,flags)
2006-09-27 16:43:51 +04:00
# ifdef ioctl
# undef ioctl
# endif
# define ioctl(s,req,ptr) swrap_ioctl(s,req,ptr)
2006-09-19 02:12:56 +04:00
# ifdef recv
# undef recv
# endif
# define recv(s,buf,len,flags) swrap_recv(s,buf,len,flags)
2009-09-08 07:31:01 +04:00
# ifdef read
# undef read
# endif
# define read(s,buf,len) swrap_read(s,buf,len)
2006-09-19 02:12:56 +04:00
# ifdef send
# undef send
# endif
# define send(s,buf,len,flags) swrap_send(s,buf,len,flags)
2009-03-09 19:48:08 +03:00
# ifdef readv
# undef readv
# endif
# define readv(s, vector, count) swrap_readv(s,vector, count)
# ifdef writev
# undef writev
# endif
# define writev(s, vector, count) swrap_writev(s,vector, count)
2006-07-01 01:52:16 +04:00
# ifdef socket
# undef socket
# endif
2005-07-03 14:20:03 +04:00
# define socket(domain,type,protocol) swrap_socket(domain,type,protocol)
2006-07-01 01:52:16 +04:00
# ifdef close
# undef close
# endif
2005-07-03 14:20:03 +04:00
# define close(s) swrap_close(s)
2011-08-12 08:28:03 +04:00
# ifdef dup
# undef dup
2005-05-02 14:12:36 +04:00
# endif
2011-08-12 08:28:03 +04:00
# define dup(s) swrap_dup(s)
2005-05-02 14:12:36 +04:00
2011-08-12 08:28:03 +04:00
# ifdef dup2
# undef dup2
# endif
# define dup2(s, s2) swrap_dup2(s, s2)
2008-06-10 11:21:05 +04:00
2011-08-12 08:28:03 +04:00
# endif /* SOCKET_WRAPPER_REPLACE */
2005-05-02 14:12:36 +04:00
# endif /* __SOCKET_WRAPPER_H__ */