summaryrefslogtreecommitdiff
path: root/libraries/Ethernet/utility/socket.h
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2011-10-20 22:16:19 -0700
committerJesse Morgan <jesse@jesterpm.net>2011-10-20 22:16:19 -0700
commitfc944ff979dbbd49a57722fe2d1d2acf47312eb4 (patch)
tree38cc3a5c5c8f24f55068fc4ffa73d018169fc2df /libraries/Ethernet/utility/socket.h
Inital commit... halfway through the project
Diffstat (limited to 'libraries/Ethernet/utility/socket.h')
-rw-r--r--libraries/Ethernet/utility/socket.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/libraries/Ethernet/utility/socket.h b/libraries/Ethernet/utility/socket.h
new file mode 100644
index 0000000..cde86ff
--- /dev/null
+++ b/libraries/Ethernet/utility/socket.h
@@ -0,0 +1,20 @@
+#ifndef _SOCKET_H_
+#define _SOCKET_H_
+
+#include "w5100.h"
+
+extern uint8_t socket(SOCKET s, uint8_t protocol, uint16_t port, uint8_t flag); // Opens a socket(TCP or UDP or IP_RAW mode)
+extern void close(SOCKET s); // Close socket
+extern uint8_t connect(SOCKET s, uint8_t * addr, uint16_t port); // Establish TCP connection (Active connection)
+extern void disconnect(SOCKET s); // disconnect the connection
+extern uint8_t listen(SOCKET s); // Establish TCP connection (Passive connection)
+extern uint16_t send(SOCKET s, const uint8_t * buf, uint16_t len); // Send data (TCP)
+extern uint16_t recv(SOCKET s, uint8_t * buf, uint16_t len); // Receive data (TCP)
+extern uint16_t peek(SOCKET s, uint8_t *buf);
+extern uint16_t sendto(SOCKET s, const uint8_t * buf, uint16_t len, uint8_t * addr, uint16_t port); // Send data (UDP/IP RAW)
+extern uint16_t recvfrom(SOCKET s, uint8_t * buf, uint16_t len, uint8_t * addr, uint16_t *port); // Receive data (UDP/IP RAW)
+
+extern uint16_t igmpsend(SOCKET s, const uint8_t * buf, uint16_t len);
+
+#endif
+/* _SOCKET_H_ */