source: rtos_arduino/trunk/arduino_lib/libraries/Ethernet2/src/utility/socket.h@ 136

Last change on this file since 136 was 136, checked in by ertl-honda, 8 years ago

ライブラリとOS及びベーシックなサンプルの追加.

File size: 2.1 KB
Line 
1 /*
2 * - 10 Apr. 2015
3 * Added support for Arduino Ethernet Shield 2
4 * by Arduino.org team
5 */
6
7#ifndef _SOCKET_H_
8#define _SOCKET_H_
9
10#include "utility/w5500.h"
11
12extern uint8_t socket(SOCKET s, uint8_t protocol, uint16_t port, uint8_t flag); // Opens a socket(TCP or UDP or IP_RAW mode)
13extern void close(SOCKET s); // Close socket
14extern uint8_t connect(SOCKET s, uint8_t * addr, uint16_t port); // Establish TCP connection (Active connection)
15extern void disconnect(SOCKET s); // disconnect the connection
16extern uint8_t listen(SOCKET s); // Establish TCP connection (Passive connection)
17extern uint16_t send(SOCKET s, const uint8_t * buf, uint16_t len); // Send data (TCP)
18extern int16_t recv(SOCKET s, uint8_t * buf, int16_t len); // Receive data (TCP)
19extern uint16_t peek(SOCKET s, uint8_t *buf);
20extern uint16_t sendto(SOCKET s, const uint8_t * buf, uint16_t len, uint8_t * addr, uint16_t port); // Send data (UDP/IP RAW)
21extern uint16_t recvfrom(SOCKET s, uint8_t * buf, uint16_t len, uint8_t * addr, uint16_t *port); // Receive data (UDP/IP RAW)
22extern void flush(SOCKET s); // Wait for transmission to complete
23
24extern uint16_t igmpsend(SOCKET s, const uint8_t * buf, uint16_t len);
25
26// Functions to allow buffered UDP send (i.e. where the UDP datagram is built up over a
27// number of calls before being sent
28/*
29 @brief This function sets up a UDP datagram, the data for which will be provided by one
30 or more calls to bufferData and then finally sent with sendUDP.
31 @return 1 if the datagram was successfully set up, or 0 if there was an error
32*/
33extern int startUDP(SOCKET s, uint8_t* addr, uint16_t port);
34/*
35 @brief This function copies up to len bytes of data from buf into a UDP datagram to be
36 sent later by sendUDP. Allows datagrams to be built up from a series of bufferData calls.
37 @return Number of bytes successfully buffered
38*/
39uint16_t bufferData(SOCKET s, uint16_t offset, const uint8_t* buf, uint16_t len);
40/*
41 @brief Send a UDP datagram built up from a sequence of startUDP followed by one or more
42 calls to bufferData.
43 @return 1 if the datagram was successfully sent, or 0 if there was an error
44*/
45int sendUDP(SOCKET s);
46
47#endif
48/* _SOCKET_H_ */
Note: See TracBrowser for help on using the repository browser.