[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[tyndur-devel] [PATCH] libc: POSIX: sendto/recvfrom



+ lib: POSIC: sendto/recvfrom sind fuer den TCP-Fall nur Wrapper um send
  und recv, die zusaetzlichen Parameter werden ganz offiziell ignoriert.
---
 src/modules/include/sys/socket.h |   16 ++++++++++++++++
 src/modules/lib/posix/socket.c   |   22 ++++++++++++++++++++++
 2 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/src/modules/include/sys/socket.h b/src/modules/include/sys/socket.h
index a52b8de..f791300 100644
--- a/src/modules/include/sys/socket.h
+++ b/src/modules/include/sys/socket.h
@@ -103,4 +103,20 @@ ssize_t recv(int socket, const void *buffer, size_t length, int flags);
  */
 ssize_t send(int socket, const void *buffer, size_t length, int flags);
 
+/**
+ * Liest eine Anzahl Bytes aus einem Socket
+ *
+ * Fuer TCP werden die zusaetzlichen Parameter ignoriert
+ */
+ssize_t recvfrom(int socket, const void *buffer, size_t length, int flags,
+    const struct sockaddr* from, socklen_t from_len);
+
+/**
+ * Sendet eine Anzahl Bytes ueber einen Socket
+ *
+ * Fuer TCP werden die zusaetzlichen Parameter ignoriert
+ */
+ssize_t sendto(int socket, const void *buffer, size_t length, int flags,
+    const struct sockaddr* to, socklen_t from_len);
+
 #endif
diff --git a/src/modules/lib/posix/socket.c b/src/modules/lib/posix/socket.c
index cb20612..9a4d0e4 100644
--- a/src/modules/lib/posix/socket.c
+++ b/src/modules/lib/posix/socket.c
@@ -187,3 +187,25 @@ ssize_t send(int socket, const void *buffer, size_t length, int flags)
 {
     return write(socket, buffer, length);
 }
+
+/**
+ * Liest eine Anzahl Bytes aus einem Socket
+ *
+ * Fuer TCP werden die zusaetzlichen Parameter ignoriert
+ */
+ssize_t recvfrom(int socket, const void *buffer, size_t length, int flags,
+    const struct sockaddr* from, socklen_t from_len)
+{
+    return recv(socket, buffer, length, flags);
+}
+
+/**
+ * Sendet eine Anzahl Bytes ueber einen Socket
+ *
+ * Fuer TCP werden die zusaetzlichen Parameter ignoriert
+ */
+ssize_t sendto(int socket, const void *buffer, size_t length, int flags,
+    const struct sockaddr* to, socklen_t from_len)
+{
+    return send(socket, buffer, length, flags);
+}
-- 
1.6.0.2