summaryrefslogtreecommitdiff
path: root/source3/lib/replace/socketpair.c
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2008-03-18 17:20:47 +0100
committerMichael Adam <obnox@samba.org>2008-03-19 22:40:45 +0100
commitb57d67c406311d4c859ee1d409a03669f1a1a8b3 (patch)
tree24591fdb33320ffb677787efdb835592ef3dc5de /source3/lib/replace/socketpair.c
parentb2ec8372bac987525e3bfa448212ea4f1d8fe5d9 (diff)
downloadsamba-b57d67c406311d4c859ee1d409a03669f1a1a8b3.tar.gz
samba-b57d67c406311d4c859ee1d409a03669f1a1a8b3.tar.bz2
samba-b57d67c406311d4c859ee1d409a03669f1a1a8b3.zip
libreplace: move rep_socketpair() to its own module.
Prototype is now in system/network.h, implementation in socketpair.c, and check in socketpair.m4. Now the last networking function has vanished from replace.c. Michael (cherry picked from commit 94ac8a25be15b55f66eff96fdddc2fdc71a43b1e) (This used to be commit 6c53753246b8108fe1277b34958e122bd800c4e7)
Diffstat (limited to 'source3/lib/replace/socketpair.c')
-rw-r--r--source3/lib/replace/socketpair.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/source3/lib/replace/socketpair.c b/source3/lib/replace/socketpair.c
new file mode 100644
index 0000000000..c775730952
--- /dev/null
+++ b/source3/lib/replace/socketpair.c
@@ -0,0 +1,46 @@
+/*
+ * Unix SMB/CIFS implementation.
+ * replacement routines for broken systems
+ * Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2006
+ * Copyright (C) Michael Adam <obnox@samba.org> 2008
+ *
+ * ** NOTE! The following LGPL license applies to the replace
+ * ** library. This does NOT imply that all of Samba is released
+ * ** under the LGPL
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "replace.h"
+#include "system/network.h"
+
+int rep_socketpair(int d, int type, int protocol, int sv[2])
+{
+ if (d != AF_UNIX) {
+ errno = EAFNOSUPPORT;
+ return -1;
+ }
+
+ if (protocol != 0) {
+ errno = EPROTONOSUPPORT;
+ return -1;
+ }
+
+ if (type != SOCK_STREAM) {
+ errno = EOPNOTSUPP;
+ return -1;
+ }
+
+ return pipe(sv);
+}