projects
/
bertos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add server tcp api.
[bertos.git]
/
bertos
/
net
/
tcp_socket.h
diff --git
a/bertos/net/tcp_socket.h
b/bertos/net/tcp_socket.h
index 74ca1074e8209c0c8cde5270da83540fb676b077..a5eef82525224add2b206cd9c2ad520360beafb2 100644
(file)
--- a/
bertos/net/tcp_socket.h
+++ b/
bertos/net/tcp_socket.h
@@
-46,10
+46,12
@@
#include <lwip/netif.h>
#include <lwip/ip_addr.h>
#include <lwip/netif.h>
#include <lwip/ip_addr.h>
+typedef void (*tcphandler_t)(KFile *fd);
+
typedef struct TcpSocket
{
KFile fd; ///< KFile context.
typedef struct TcpSocket
{
KFile fd; ///< KFile context.
- struct netconn *sock; ///< Current socke
ct connection pointer
.
+ struct netconn *sock; ///< Current socke
t connection
.
struct netbuf *rx_buf_conn; ///< Current received buffer from socket.
size_t remaning_data_len; ///< Number of bytes to read from the received buffer.
struct netbuf *rx_buf_conn; ///< Current received buffer from socket.
size_t remaning_data_len; ///< Number of bytes to read from the received buffer.
@@
-58,6
+60,9
@@
typedef struct TcpSocket
uint16_t port; ///< Number port to connect.
int error; ///< Error status.
uint16_t port; ///< Number port to connect.
int error; ///< Error status.
+
+ struct netconn *server_sock; ///< Server sockect connection.
+ tcphandler_t handler; ///< TCP handler when are in server mode.
} TcpSocket;
#define KFT_TCPSOCKET MAKE_ID('T', 'S', 'C', 'K')
} TcpSocket;
#define KFT_TCPSOCKET MAKE_ID('T', 'S', 'C', 'K')
@@
-70,4
+75,7
@@
INLINE TcpSocket *TCPSOCKET_CAST(KFile *fd)
void tcpsocket_init(TcpSocket *socket, struct ip_addr *local_addr, struct ip_addr *remote_addr, uint16_t port);
void tcpsocket_init(TcpSocket *socket, struct ip_addr *local_addr, struct ip_addr *remote_addr, uint16_t port);
+void tcpsocket_serverPoll(KFile *fd);
+void tcpsocket_serverInit(TcpSocket *socket, struct ip_addr *local_addr, struct ip_addr *remote_addr, uint16_t port, tcphandler_t handler);
+
#endif /* NET_TCP_SOCKET_H */
#endif /* NET_TCP_SOCKET_H */