57 lines
1.2 KiB
C
57 lines
1.2 KiB
C
#ifndef _SOCKET_H_
|
|
#define _SOCKET_H_
|
|
|
|
#include "w5100.h"
|
|
|
|
extern uint16_t _socket_port [MAX_SOCK_NUM];
|
|
|
|
/*
|
|
* Opens a socket(TCP or UDP or IP_RAW mode)
|
|
*/
|
|
unsigned socket_init (unsigned sock, unsigned protocol, unsigned port, unsigned flag);
|
|
|
|
/*
|
|
* Close socket
|
|
*/
|
|
void socket_close (unsigned sock);
|
|
|
|
/*
|
|
* Establish TCP connection (Active connection)
|
|
*/
|
|
unsigned socket_connect (unsigned sock, uint8_t *addr, unsigned port);
|
|
|
|
/*
|
|
* disconnect the connection
|
|
*/
|
|
void socket_disconnect (unsigned sock);
|
|
|
|
/*
|
|
* Establish TCP connection (Passive connection)
|
|
*/
|
|
unsigned socket_listen (unsigned sock);
|
|
|
|
/*
|
|
* Send data (TCP)
|
|
*/
|
|
unsigned socket_send (unsigned sock, const uint8_t *buf, unsigned len);
|
|
|
|
/*
|
|
* Receive data (TCP)
|
|
*/
|
|
unsigned socket_recv (unsigned sock, uint8_t *buf, unsigned len);
|
|
unsigned socket_peek (unsigned sock);
|
|
|
|
/*
|
|
* Send data (UDP/IP RAW)
|
|
*/
|
|
unsigned socket_sendto (unsigned sock, const uint8_t *buf, unsigned len, uint8_t *addr, unsigned port);
|
|
|
|
/*
|
|
* Receive data (UDP/IP RAW)
|
|
*/
|
|
unsigned socket_recvfrom (unsigned sock, uint8_t *buf, unsigned len, uint8_t *addr, unsigned *port);
|
|
|
|
unsigned socket_igmpsend (unsigned sock, const uint8_t *buf, unsigned len);
|
|
|
|
#endif /* _SOCKET_H_ */
|