summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2005-05-02 10:12:36 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 10:56:45 -0500
commit2d1e1f7e2e9a1bc30c12610462757fd422e7ffb4 (patch)
tree88a05bd57c88610de5a4f0e5cfcccc06dda98417 /source3/include
parenta7145e26c99c43a39b24bbf16587b2ea1cd1ef9c (diff)
downloadsamba-2d1e1f7e2e9a1bc30c12610462757fd422e7ffb4.tar.gz
samba-2d1e1f7e2e9a1bc30c12610462757fd422e7ffb4.tar.bz2
samba-2d1e1f7e2e9a1bc30c12610462757fd422e7ffb4.zip
r6570: Add socket_wrapper library to 3.0. Can be enabled by passing
--enable-socket-wrapper to configure (This used to be commit 9c6cdd23ead427a4cb20177dad1c87da9594a4fe)
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/includes.h6
-rw-r--r--source3/include/socket_wrapper.h48
2 files changed, 53 insertions, 1 deletions
diff --git a/source3/include/includes.h b/source3/include/includes.h
index a6db058708..1fabe44e0e 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -276,7 +276,6 @@
#include <net/if.h>
#endif
-
#ifdef HAVE_SYS_MOUNT_H
#include <sys/mount.h>
#endif
@@ -788,6 +787,11 @@ extern int errno;
#define NGROUPS_MAX 32 /* Guess... */
#endif
+#ifdef SOCKET_WRAPPER
+#define SOCKET_WRAPPER_REPLACE
+#include "include/socket_wrapper.h"
+#endif
+
/* Our own pstrings and fstrings */
#include "pstring.h"
diff --git a/source3/include/socket_wrapper.h b/source3/include/socket_wrapper.h
new file mode 100644
index 0000000000..6da5a2980c
--- /dev/null
+++ b/source3/include/socket_wrapper.h
@@ -0,0 +1,48 @@
+/*
+ Copyright (C) Jelmer Vernooij 2005 <jelmer@samba.org>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#ifndef __SOCKET_WRAPPER_H__
+#define __SOCKET_WRAPPER_H__
+
+int swrap_socket(int domain, int type, int protocol);
+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);
+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);
+ssize_t swrap_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen);
+int swrap_close(int);
+
+#ifdef SOCKET_WRAPPER_REPLACE
+#define accept swrap_accept
+#define connect swrap_connect
+#define bind swrap_bind
+#define getpeername swrap_getpeername
+#define getsockname swrap_getsockname
+#define getsockopt swrap_getsockopt
+#define setsockopt swrap_setsockopt
+#define recvfrom swrap_recvfrom
+#define sendto swrap_sendto
+#define socket swrap_socket
+#define close swrap_close
+#endif
+
+#endif /* __SOCKET_WRAPPER_H__ */