lib/socket_wrapper/socket_wrapper.h

説明を見る。
00001 /*
00002  * Copyright (C) Jelmer Vernooij 2005 <jelmer@samba.org>
00003  * Copyright (C) Stefan Metzmacher 2006 <metze@samba.org>
00004  *
00005  * All rights reserved.
00006  * 
00007  * Redistribution and use in source and binary forms, with or without
00008  * modification, are permitted provided that the following conditions
00009  * are met:
00010  * 
00011  * 1. Redistributions of source code must retain the above copyright
00012  *    notice, this list of conditions and the following disclaimer.
00013  * 
00014  * 2. Redistributions in binary form must reproduce the above copyright
00015  *    notice, this list of conditions and the following disclaimer in the
00016  *    documentation and/or other materials provided with the distribution.
00017  * 
00018  * 3. Neither the name of the author nor the names of its contributors
00019  *    may be used to endorse or promote products derived from this software
00020  *    without specific prior written permission.
00021  * 
00022  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
00023  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00024  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00025  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
00026  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00027  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
00028  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
00029  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
00030  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
00031  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
00032  * SUCH DAMAGE.
00033  *
00034  */
00035 
00036 #ifndef __SOCKET_WRAPPER_H__
00037 #define __SOCKET_WRAPPER_H__
00038 
00039 int swrap_socket(int family, int type, int protocol);
00040 int swrap_accept(int s, struct sockaddr *addr, socklen_t *addrlen);
00041 int swrap_connect(int s, const struct sockaddr *serv_addr, socklen_t addrlen);
00042 int swrap_bind(int s, const struct sockaddr *myaddr, socklen_t addrlen);
00043 int swrap_listen(int s, int backlog);
00044 int swrap_getpeername(int s, struct sockaddr *name, socklen_t *addrlen);
00045 int swrap_getsockname(int s, struct sockaddr *name, socklen_t *addrlen);
00046 int swrap_getsockopt(int s, int level, int optname, void *optval, socklen_t *optlen);
00047 int swrap_setsockopt(int s, int  level,  int  optname,  const  void  *optval, socklen_t optlen);
00048 ssize_t swrap_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen);
00049 ssize_t swrap_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen);
00050 int swrap_ioctl(int s, int req, void *ptr);
00051 ssize_t swrap_recv(int s, void *buf, size_t len, int flags);
00052 ssize_t swrap_send(int s, const void *buf, size_t len, int flags);
00053 int swrap_close(int);
00054 
00055 #ifdef SOCKET_WRAPPER_REPLACE
00056 
00057 #ifdef accept
00058 #undef accept
00059 #endif
00060 #define accept(s,addr,addrlen)          swrap_accept(s,addr,addrlen)
00061 
00062 #ifdef connect
00063 #undef connect
00064 #endif
00065 #define connect(s,serv_addr,addrlen)    swrap_connect(s,serv_addr,addrlen)
00066 
00067 #ifdef bind
00068 #undef bind
00069 #endif
00070 #define bind(s,myaddr,addrlen)          swrap_bind(s,myaddr,addrlen)
00071 
00072 #ifdef listen
00073 #undef listen
00074 #endif
00075 #define listen(s,blog)                  swrap_listen(s,blog)
00076 
00077 #ifdef getpeername
00078 #undef getpeername
00079 #endif
00080 #define getpeername(s,name,addrlen)     swrap_getpeername(s,name,addrlen)
00081 
00082 #ifdef getsockname
00083 #undef getsockname
00084 #endif
00085 #define getsockname(s,name,addrlen)     swrap_getsockname(s,name,addrlen)
00086 
00087 #ifdef getsockopt
00088 #undef getsockopt
00089 #endif
00090 #define getsockopt(s,level,optname,optval,optlen) swrap_getsockopt(s,level,optname,optval,optlen)
00091 
00092 #ifdef setsockopt
00093 #undef setsockopt
00094 #endif
00095 #define setsockopt(s,level,optname,optval,optlen) swrap_setsockopt(s,level,optname,optval,optlen)
00096 
00097 #ifdef recvfrom
00098 #undef recvfrom
00099 #endif
00100 #define recvfrom(s,buf,len,flags,from,fromlen)    swrap_recvfrom(s,buf,len,flags,from,fromlen)
00101 
00102 #ifdef sendto
00103 #undef sendto
00104 #endif
00105 #define sendto(s,buf,len,flags,to,tolen)          swrap_sendto(s,buf,len,flags,to,tolen)
00106 
00107 #ifdef ioctl
00108 #undef ioctl
00109 #endif
00110 #define ioctl(s,req,ptr)                swrap_ioctl(s,req,ptr)
00111 
00112 #ifdef recv
00113 #undef recv
00114 #endif
00115 #define recv(s,buf,len,flags)           swrap_recv(s,buf,len,flags)
00116 
00117 #ifdef send
00118 #undef send
00119 #endif
00120 #define send(s,buf,len,flags)           swrap_send(s,buf,len,flags)
00121 
00122 #ifdef socket
00123 #undef socket
00124 #endif
00125 #define socket(domain,type,protocol)    swrap_socket(domain,type,protocol)
00126 
00127 #ifdef close
00128 #undef close
00129 #endif
00130 #define close(s)                        swrap_close(s)
00131 #endif
00132 
00133 #endif /* __SOCKET_WRAPPER_H__ */

Sambaに対してSat Aug 29 21:22:59 2009に生成されました。  doxygen 1.4.7