root / arduino-1.0 / libraries / Ethernet / utility / socket.h @ 58d82c77
History | View | Annotate | Download (1.97 KB)
1 |
#ifndef _SOCKET_H_
|
---|---|
2 |
#define _SOCKET_H_
|
3 |
|
4 |
#include "w5100.h" |
5 |
|
6 |
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) |
7 |
extern void close(SOCKET s); // Close socket |
8 |
extern uint8_t connect(SOCKET s, uint8_t * addr, uint16_t port); // Establish TCP connection (Active connection) |
9 |
extern void disconnect(SOCKET s); // disconnect the connection |
10 |
extern uint8_t listen(SOCKET s); // Establish TCP connection (Passive connection) |
11 |
extern uint16_t send(SOCKET s, const uint8_t * buf, uint16_t len); // Send data (TCP) |
12 |
extern uint16_t recv(SOCKET s, uint8_t * buf, uint16_t len); // Receive data (TCP) |
13 |
extern uint16_t peek(SOCKET s, uint8_t *buf);
|
14 |
extern uint16_t sendto(SOCKET s, const uint8_t * buf, uint16_t len, uint8_t * addr, uint16_t port); // Send data (UDP/IP RAW) |
15 |
extern uint16_t recvfrom(SOCKET s, uint8_t * buf, uint16_t len, uint8_t * addr, uint16_t *port); // Receive data (UDP/IP RAW) |
16 |
|
17 |
extern uint16_t igmpsend(SOCKET s, const uint8_t * buf, uint16_t len); |
18 |
|
19 |
// Functions to allow buffered UDP send (i.e. where the UDP datagram is built up over a
|
20 |
// number of calls before being sent
|
21 |
/*
|
22 |
@brief This function sets up a UDP datagram, the data for which will be provided by one
|
23 |
or more calls to bufferData and then finally sent with sendUDP.
|
24 |
@return 1 if the datagram was successfully set up, or 0 if there was an error
|
25 |
*/
|
26 |
extern int startUDP(SOCKET s, uint8_t* addr, uint16_t port); |
27 |
/*
|
28 |
@brief This function copies up to len bytes of data from buf into a UDP datagram to be
|
29 |
sent later by sendUDP. Allows datagrams to be built up from a series of bufferData calls.
|
30 |
@return Number of bytes successfully buffered
|
31 |
*/
|
32 |
uint16_t bufferData(SOCKET s, uint16_t offset, const uint8_t* buf, uint16_t len);
|
33 |
/*
|
34 |
@brief Send a UDP datagram built up from a sequence of startUDP followed by one or more
|
35 |
calls to bufferData.
|
36 |
@return 1 if the datagram was successfully sent, or 0 if there was an error
|
37 |
*/
|
38 |
int sendUDP(SOCKET s);
|
39 |
|
40 |
#endif
|
41 |
/* _SOCKET_H_ */
|