|
@@ -1,392 +1,407 @@
|
|
|
-#ifndef __ESPCONN_H__
|
|
|
-#define __ESPCONN_H__
|
|
|
-
|
|
|
-#include "lwip/ip_addr.h"
|
|
|
-
|
|
|
-typedef sint8 err_t;
|
|
|
-
|
|
|
-typedef void *espconn_handle;
|
|
|
-typedef void (* espconn_connect_callback)(void *arg);
|
|
|
-typedef void (* espconn_reconnect_callback)(void *arg, sint8 err);
|
|
|
-
|
|
|
-/* Definitions for error constants. */
|
|
|
-
|
|
|
-#define ESPCONN_OK 0 /* No error, everything OK. */
|
|
|
-#define ESPCONN_MEM -1 /* Out of memory error. */
|
|
|
-#define ESPCONN_TIMEOUT -3 /* Timeout. */
|
|
|
-#define ESPCONN_RTE -4 /* Routing problem. */
|
|
|
-#define ESPCONN_INPROGRESS -5 /* Operation in progress */
|
|
|
-
|
|
|
-#define ESPCONN_ABRT -8 /* Connection aborted. */
|
|
|
-#define ESPCONN_RST -9 /* Connection reset. */
|
|
|
-#define ESPCONN_CLSD -10 /* Connection closed. */
|
|
|
-#define ESPCONN_CONN -11 /* Not connected. */
|
|
|
-
|
|
|
-#define ESPCONN_ARG -12 /* Illegal argument. */
|
|
|
-#define ESPCONN_ISCONN -15 /* Already connected. */
|
|
|
-
|
|
|
-/** Protocol family and type of the espconn */
|
|
|
-enum espconn_type {
|
|
|
- ESPCONN_INVALID = 0,
|
|
|
- /* ESPCONN_TCP Group */
|
|
|
- ESPCONN_TCP = 0x10,
|
|
|
- /* ESPCONN_UDP Group */
|
|
|
- ESPCONN_UDP = 0x20,
|
|
|
-};
|
|
|
-
|
|
|
-/** Current state of the espconn. Non-TCP espconn are always in state ESPCONN_NONE! */
|
|
|
-enum espconn_state {
|
|
|
- ESPCONN_NONE,
|
|
|
- ESPCONN_WAIT,
|
|
|
- ESPCONN_LISTEN,
|
|
|
- ESPCONN_CONNECT,
|
|
|
- ESPCONN_WRITE,
|
|
|
- ESPCONN_READ,
|
|
|
- ESPCONN_CLOSE
|
|
|
-};
|
|
|
-
|
|
|
-typedef struct _esp_tcp {
|
|
|
- int remote_port;
|
|
|
- int local_port;
|
|
|
- uint8 local_ip[4];
|
|
|
- uint8 remote_ip[4];
|
|
|
- espconn_connect_callback connect_callback;
|
|
|
- espconn_reconnect_callback reconnect_callback;
|
|
|
- espconn_connect_callback disconnect_callback;
|
|
|
-} esp_tcp;
|
|
|
-
|
|
|
-typedef struct _esp_udp {
|
|
|
- int remote_port;
|
|
|
- int local_port;
|
|
|
- uint8 local_ip[4];
|
|
|
- uint8 remote_ip[4];
|
|
|
-} esp_udp;
|
|
|
-
|
|
|
-typedef struct _remot_info{
|
|
|
- enum espconn_state state;
|
|
|
- int remote_port;
|
|
|
- uint8 remote_ip[4];
|
|
|
-}remot_info;
|
|
|
-
|
|
|
-/** A callback prototype to inform about events for a espconn */
|
|
|
-typedef void (* espconn_recv_callback)(void *arg, char *pdata, unsigned short len);
|
|
|
-typedef void (* espconn_sent_callback)(void *arg);
|
|
|
-
|
|
|
-/** A espconn descriptor */
|
|
|
-struct espconn {
|
|
|
- /** type of the espconn (TCP, UDP) */
|
|
|
- enum espconn_type type;
|
|
|
- /** current state of the espconn */
|
|
|
- enum espconn_state state;
|
|
|
- union {
|
|
|
- esp_tcp *tcp;
|
|
|
- esp_udp *udp;
|
|
|
- } proto;
|
|
|
- /** A callback function that is informed about events for this espconn */
|
|
|
- espconn_recv_callback recv_callback;
|
|
|
- espconn_sent_callback sent_callback;
|
|
|
- uint8 link_cnt;
|
|
|
- void *reverse;
|
|
|
-};
|
|
|
-
|
|
|
-enum espconn_option{
|
|
|
- ESPCONN_REUSEADDR = 1,
|
|
|
- ESPCONN_NODELAY,
|
|
|
- ESPCONN_END
|
|
|
-};
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_connect
|
|
|
- * Description : The function given as the connect
|
|
|
- * Parameters : espconn -- the espconn used to listen the connection
|
|
|
- * Returns : none
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-sint8 espconn_connect(struct espconn *espconn);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_disconnect
|
|
|
- * Description : disconnect with host
|
|
|
- * Parameters : espconn -- the espconn used to disconnect the connection
|
|
|
- * Returns : none
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-sint8 espconn_disconnect(struct espconn *espconn);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_delete
|
|
|
- * Description : disconnect with host
|
|
|
- * Parameters : espconn -- the espconn used to disconnect the connection
|
|
|
- * Returns : none
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-sint8 espconn_delete(struct espconn *espconn);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_accept
|
|
|
- * Description : The function given as the listen
|
|
|
- * Parameters : espconn -- the espconn used to listen the connection
|
|
|
- * Returns : none
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-sint8 espconn_accept(struct espconn *espconn);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_create
|
|
|
- * Description : sent data for client or server
|
|
|
- * Parameters : espconn -- espconn to the data transmission
|
|
|
- * Returns : result
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-sint8 espconn_create(struct espconn *espconn);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_tcp_get_max_con
|
|
|
- * Description : get the number of simulatenously active TCP connections
|
|
|
- * Parameters : none
|
|
|
- * Returns : none
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-uint8 espconn_tcp_get_max_con(void);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_tcp_set_max_con
|
|
|
- * Description : set the number of simulatenously active TCP connections
|
|
|
- * Parameters : num -- total number
|
|
|
- * Returns : none
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-sint8 espconn_tcp_set_max_con(uint8 num);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_tcp_get_max_con_allow
|
|
|
- * Description : get the count of simulatenously active connections on the server
|
|
|
- * Parameters : espconn -- espconn to get the count
|
|
|
- * Returns : result
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-sint8 espconn_tcp_get_max_con_allow(struct espconn *espconn);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_tcp_set_max_con_allow
|
|
|
- * Description : set the count of simulatenously active connections on the server
|
|
|
- * Parameters : espconn -- espconn to set the count
|
|
|
- * num -- support the connection number
|
|
|
- * Returns : result
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-sint8 espconn_tcp_set_max_con_allow(struct espconn *espconn, uint8 num);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_regist_time
|
|
|
- * Description : used to specify the time that should be called when don't recv data
|
|
|
- * Parameters : espconn -- the espconn used to the connection
|
|
|
- * interval -- the timer when don't recv data
|
|
|
- * Returns : none
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-sint8 espconn_regist_time(struct espconn *espconn, uint32 interval, uint8 type_flag);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_get_connection_info
|
|
|
- * Description : used to specify the function that should be called when disconnect
|
|
|
- * Parameters : espconn -- espconn to set the err callback
|
|
|
- * discon_cb -- err callback function to call when err
|
|
|
- * Returns : none
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-sint8 espconn_get_connection_info(struct espconn *pespconn, remot_info **pcon_info, uint8 typeflags);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_regist_sentcb
|
|
|
- * Description : Used to specify the function that should be called when data
|
|
|
- * has been successfully delivered to the remote host.
|
|
|
- * Parameters : struct espconn *espconn -- espconn to set the sent callback
|
|
|
- * espconn_sent_callback sent_cb -- sent callback function to
|
|
|
- * call for this espconn when data is successfully sent
|
|
|
- * Returns : none
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-sint8 espconn_regist_sentcb(struct espconn *espconn, espconn_sent_callback sent_cb);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_sent
|
|
|
- * Description : sent data for client or server
|
|
|
- * Parameters : espconn -- espconn to set for client or server
|
|
|
- * psent -- data to send
|
|
|
- * length -- length of data to send
|
|
|
- * Returns : none
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-sint8 espconn_sent(struct espconn *espconn, uint8 *psent, uint16 length);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_regist_connectcb
|
|
|
- * Description : used to specify the function that should be called when
|
|
|
- * connects to host.
|
|
|
- * Parameters : espconn -- espconn to set the connect callback
|
|
|
- * connect_cb -- connected callback function to call when connected
|
|
|
- * Returns : none
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-sint8 espconn_regist_connectcb(struct espconn *espconn, espconn_connect_callback connect_cb);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_regist_recvcb
|
|
|
- * Description : used to specify the function that should be called when recv
|
|
|
- * data from host.
|
|
|
- * Parameters : espconn -- espconn to set the recv callback
|
|
|
- * recv_cb -- recv callback function to call when recv data
|
|
|
- * Returns : none
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-sint8 espconn_regist_recvcb(struct espconn *espconn, espconn_recv_callback recv_cb);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_regist_reconcb
|
|
|
- * Description : used to specify the function that should be called when connection
|
|
|
- * because of err disconnect.
|
|
|
- * Parameters : espconn -- espconn to set the err callback
|
|
|
- * recon_cb -- err callback function to call when err
|
|
|
- * Returns : none
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-sint8 espconn_regist_reconcb(struct espconn *espconn, espconn_reconnect_callback recon_cb);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_regist_disconcb
|
|
|
- * Description : used to specify the function that should be called when disconnect
|
|
|
- * Parameters : espconn -- espconn to set the err callback
|
|
|
- * discon_cb -- err callback function to call when err
|
|
|
- * Returns : none
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-sint8 espconn_regist_disconcb(struct espconn *espconn, espconn_connect_callback discon_cb);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_port
|
|
|
- * Description : access port value for client so that we don't end up bouncing
|
|
|
- * all connections at the same time .
|
|
|
- * Parameters : none
|
|
|
- * Returns : access port value
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-uint32 espconn_port(void);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_set_opt
|
|
|
- * Description : access port value for client so that we don't end up bouncing
|
|
|
- * all connections at the same time .
|
|
|
- * Parameters : none
|
|
|
- * Returns : access port value
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-sint8 espconn_set_opt(struct espconn *espconn, uint8 opt);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * TypedefName : dns_found_callback
|
|
|
- * Description : Callback which is invoked when a hostname is found.
|
|
|
- * Parameters : name -- pointer to the name that was looked up.
|
|
|
- * ipaddr -- pointer to an ip_addr_t containing the IP address of
|
|
|
- * the hostname, or NULL if the name could not be found (or on any
|
|
|
- * other error).
|
|
|
- * callback_arg -- a user-specified callback argument passed to
|
|
|
- * dns_gethostbyname
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-typedef void (*dns_found_callback)(const char *name, ip_addr_t *ipaddr, void *callback_arg);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_gethostbyname
|
|
|
- * Description : Resolve a hostname (string) into an IP address.
|
|
|
- * Parameters : pespconn -- espconn to resolve a hostname
|
|
|
- * hostname -- the hostname that is to be queried
|
|
|
- * addr -- pointer to a ip_addr_t where to store the address if
|
|
|
- * it is already cached in the dns_table (only valid if ESPCONN_OK
|
|
|
- * is returned!)
|
|
|
- * found -- a callback function to be called on success, failure
|
|
|
- * or timeout (only if ERR_INPROGRESS is returned!)
|
|
|
- * Returns : err_t return code
|
|
|
- * - ESPCONN_OK if hostname is a valid IP address string or the host
|
|
|
- * name is already in the local names table.
|
|
|
- * - ESPCONN_INPROGRESS enqueue a request to be sent to the DNS server
|
|
|
- * for resolution if no errors are present.
|
|
|
- * - ESPCONN_ARG: dns client not initialized or invalid hostname
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-err_t espconn_gethostbyname(struct espconn *pespconn, const char *hostname, ip_addr_t *addr, dns_found_callback found);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_encry_connect
|
|
|
- * Description : The function given as connection
|
|
|
- * Parameters : espconn -- the espconn used to connect with the host
|
|
|
- * Returns : none
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-sint8 espconn_secure_connect(struct espconn *espconn);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_encry_disconnect
|
|
|
- * Description : The function given as the disconnection
|
|
|
- * Parameters : espconn -- the espconn used to disconnect with the host
|
|
|
- * Returns : none
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-sint8 espconn_secure_disconnect(struct espconn *espconn);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_encry_sent
|
|
|
- * Description : sent data for client or server
|
|
|
- * Parameters : espconn -- espconn to set for client or server
|
|
|
- * psent -- data to send
|
|
|
- * length -- length of data to send
|
|
|
- * Returns : none
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-sint8 espconn_secure_sent(struct espconn *espconn, uint8 *psent, uint16 length);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_secure_accept
|
|
|
- * Description : The function given as the listen
|
|
|
- * Parameters : espconn -- the espconn used to listen the connection
|
|
|
- * Returns : none
|
|
|
-*******************************************************************************/
|
|
|
-
|
|
|
-sint8 espconn_secure_accept(struct espconn *espconn);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_igmp_join
|
|
|
- * Description : join a multicast group
|
|
|
- * Parameters : host_ip -- the ip address of udp server
|
|
|
- * multicast_ip -- multicast ip given by user
|
|
|
- * Returns : none
|
|
|
-*******************************************************************************/
|
|
|
-sint8 espconn_igmp_join(ip_addr_t *host_ip, ip_addr_t *multicast_ip);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_igmp_leave
|
|
|
- * Description : leave a multicast group
|
|
|
- * Parameters : host_ip -- the ip address of udp server
|
|
|
- * multicast_ip -- multicast ip given by user
|
|
|
- * Returns : none
|
|
|
-*******************************************************************************/
|
|
|
-sint8 espconn_igmp_leave(ip_addr_t *host_ip, ip_addr_t *multicast_ip);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_recv_hold
|
|
|
- * Description : hold tcp receive
|
|
|
- * Parameters : espconn -- espconn to hold
|
|
|
- * Returns : none
|
|
|
-*******************************************************************************/
|
|
|
-sint8 espconn_recv_hold(struct espconn *pespconn);
|
|
|
-
|
|
|
-/******************************************************************************
|
|
|
- * FunctionName : espconn_recv_unhold
|
|
|
- * Description : unhold tcp receive
|
|
|
- * Parameters : espconn -- espconn to unhold
|
|
|
- * Returns : none
|
|
|
-*******************************************************************************/
|
|
|
-sint8 espconn_recv_unhold(struct espconn *pespconn);
|
|
|
-
|
|
|
-#endif
|
|
|
-
|
|
|
+#ifndef __ESPCONN_H__
|
|
|
+#define __ESPCONN_H__
|
|
|
+
|
|
|
+#include "lwip/ip_addr.h"
|
|
|
+
|
|
|
+typedef sint8 err_t;
|
|
|
+
|
|
|
+typedef void *espconn_handle;
|
|
|
+typedef void (* espconn_connect_callback)(void *arg);
|
|
|
+typedef void (* espconn_reconnect_callback)(void *arg, sint8 err);
|
|
|
+
|
|
|
+/* Definitions for error constants. */
|
|
|
+
|
|
|
+#define ESPCONN_OK 0 /* No error, everything OK. */
|
|
|
+#define ESPCONN_MEM -1 /* Out of memory error. */
|
|
|
+#define ESPCONN_TIMEOUT -3 /* Timeout. */
|
|
|
+#define ESPCONN_RTE -4 /* Routing problem. */
|
|
|
+#define ESPCONN_INPROGRESS -5 /* Operation in progress */
|
|
|
+
|
|
|
+#define ESPCONN_ABRT -8 /* Connection aborted. */
|
|
|
+#define ESPCONN_RST -9 /* Connection reset. */
|
|
|
+#define ESPCONN_CLSD -10 /* Connection closed. */
|
|
|
+#define ESPCONN_CONN -11 /* Not connected. */
|
|
|
+
|
|
|
+#define ESPCONN_ARG -12 /* Illegal argument. */
|
|
|
+#define ESPCONN_ISCONN -15 /* Already connected. */
|
|
|
+
|
|
|
+/** Protocol family and type of the espconn */
|
|
|
+enum espconn_type {
|
|
|
+ ESPCONN_INVALID = 0,
|
|
|
+ /* ESPCONN_TCP Group */
|
|
|
+ ESPCONN_TCP = 0x10,
|
|
|
+ /* ESPCONN_UDP Group */
|
|
|
+ ESPCONN_UDP = 0x20,
|
|
|
+};
|
|
|
+
|
|
|
+/** Current state of the espconn. Non-TCP espconn are always in state ESPCONN_NONE! */
|
|
|
+enum espconn_state {
|
|
|
+ ESPCONN_NONE,
|
|
|
+ ESPCONN_WAIT,
|
|
|
+ ESPCONN_LISTEN,
|
|
|
+ ESPCONN_CONNECT,
|
|
|
+ ESPCONN_WRITE,
|
|
|
+ ESPCONN_READ,
|
|
|
+ ESPCONN_CLOSE
|
|
|
+};
|
|
|
+
|
|
|
+typedef struct _esp_tcp {
|
|
|
+ int remote_port;
|
|
|
+ int local_port;
|
|
|
+ uint8 local_ip[4];
|
|
|
+ uint8 remote_ip[4];
|
|
|
+ espconn_connect_callback connect_callback;
|
|
|
+ espconn_reconnect_callback reconnect_callback;
|
|
|
+ espconn_connect_callback disconnect_callback;
|
|
|
+ espconn_connect_callback write_finish_fn;
|
|
|
+} esp_tcp;
|
|
|
+
|
|
|
+typedef struct _esp_udp {
|
|
|
+ int remote_port;
|
|
|
+ int local_port;
|
|
|
+ uint8 local_ip[4];
|
|
|
+ uint8 remote_ip[4];
|
|
|
+} esp_udp;
|
|
|
+
|
|
|
+typedef struct _remot_info{
|
|
|
+ enum espconn_state state;
|
|
|
+ int remote_port;
|
|
|
+ uint8 remote_ip[4];
|
|
|
+}remot_info;
|
|
|
+
|
|
|
+/** A callback prototype to inform about events for a espconn */
|
|
|
+typedef void (* espconn_recv_callback)(void *arg, char *pdata, unsigned short len);
|
|
|
+typedef void (* espconn_sent_callback)(void *arg);
|
|
|
+
|
|
|
+/** A espconn descriptor */
|
|
|
+struct espconn {
|
|
|
+ /** type of the espconn (TCP, UDP) */
|
|
|
+ enum espconn_type type;
|
|
|
+ /** current state of the espconn */
|
|
|
+ enum espconn_state state;
|
|
|
+ union {
|
|
|
+ esp_tcp *tcp;
|
|
|
+ esp_udp *udp;
|
|
|
+ } proto;
|
|
|
+ /** A callback function that is informed about events for this espconn */
|
|
|
+ espconn_recv_callback recv_callback;
|
|
|
+ espconn_sent_callback sent_callback;
|
|
|
+ uint8 link_cnt;
|
|
|
+ void *reverse;
|
|
|
+};
|
|
|
+
|
|
|
+enum espconn_option{
|
|
|
+ ESPCONN_START = 0x00,
|
|
|
+ ESPCONN_REUSEADDR = 0x01,
|
|
|
+ ESPCONN_NODELAY = 0x02,
|
|
|
+ ESPCONN_COPY = 0x04,
|
|
|
+ ESPCONN_END
|
|
|
+};
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_connect
|
|
|
+ * Description : The function given as the connect
|
|
|
+ * Parameters : espconn -- the espconn used to listen the connection
|
|
|
+ * Returns : none
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+sint8 espconn_connect(struct espconn *espconn);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_disconnect
|
|
|
+ * Description : disconnect with host
|
|
|
+ * Parameters : espconn -- the espconn used to disconnect the connection
|
|
|
+ * Returns : none
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+sint8 espconn_disconnect(struct espconn *espconn);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_delete
|
|
|
+ * Description : disconnect with host
|
|
|
+ * Parameters : espconn -- the espconn used to disconnect the connection
|
|
|
+ * Returns : none
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+sint8 espconn_delete(struct espconn *espconn);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_accept
|
|
|
+ * Description : The function given as the listen
|
|
|
+ * Parameters : espconn -- the espconn used to listen the connection
|
|
|
+ * Returns : none
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+sint8 espconn_accept(struct espconn *espconn);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_create
|
|
|
+ * Description : sent data for client or server
|
|
|
+ * Parameters : espconn -- espconn to the data transmission
|
|
|
+ * Returns : result
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+sint8 espconn_create(struct espconn *espconn);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_tcp_get_max_con
|
|
|
+ * Description : get the number of simulatenously active TCP connections
|
|
|
+ * Parameters : none
|
|
|
+ * Returns : none
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+uint8 espconn_tcp_get_max_con(void);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_tcp_set_max_con
|
|
|
+ * Description : set the number of simulatenously active TCP connections
|
|
|
+ * Parameters : num -- total number
|
|
|
+ * Returns : none
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+sint8 espconn_tcp_set_max_con(uint8 num);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_tcp_get_max_con_allow
|
|
|
+ * Description : get the count of simulatenously active connections on the server
|
|
|
+ * Parameters : espconn -- espconn to get the count
|
|
|
+ * Returns : result
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+sint8 espconn_tcp_get_max_con_allow(struct espconn *espconn);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_tcp_set_max_con_allow
|
|
|
+ * Description : set the count of simulatenously active connections on the server
|
|
|
+ * Parameters : espconn -- espconn to set the count
|
|
|
+ * num -- support the connection number
|
|
|
+ * Returns : result
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+sint8 espconn_tcp_set_max_con_allow(struct espconn *espconn, uint8 num);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_regist_time
|
|
|
+ * Description : used to specify the time that should be called when don't recv data
|
|
|
+ * Parameters : espconn -- the espconn used to the connection
|
|
|
+ * interval -- the timer when don't recv data
|
|
|
+ * Returns : none
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+sint8 espconn_regist_time(struct espconn *espconn, uint32 interval, uint8 type_flag);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_get_connection_info
|
|
|
+ * Description : used to specify the function that should be called when disconnect
|
|
|
+ * Parameters : espconn -- espconn to set the err callback
|
|
|
+ * discon_cb -- err callback function to call when err
|
|
|
+ * Returns : none
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+sint8 espconn_get_connection_info(struct espconn *pespconn, remot_info **pcon_info, uint8 typeflags);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_regist_sentcb
|
|
|
+ * Description : Used to specify the function that should be called when data
|
|
|
+ * has been successfully delivered to the remote host.
|
|
|
+ * Parameters : struct espconn *espconn -- espconn to set the sent callback
|
|
|
+ * espconn_sent_callback sent_cb -- sent callback function to
|
|
|
+ * call for this espconn when data is successfully sent
|
|
|
+ * Returns : none
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+sint8 espconn_regist_sentcb(struct espconn *espconn, espconn_sent_callback sent_cb);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_regist_sentcb
|
|
|
+ * Description : Used to specify the function that should be called when data
|
|
|
+ * has been successfully delivered to the remote host.
|
|
|
+ * Parameters : espconn -- espconn to set the sent callback
|
|
|
+ * sent_cb -- sent callback function to call for this espconn
|
|
|
+ * when data is successfully sent
|
|
|
+ * Returns : none
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+sint8 espconn_regist_write_finish(struct espconn *espconn, espconn_connect_callback write_finish_fn);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_sent
|
|
|
+ * Description : sent data for client or server
|
|
|
+ * Parameters : espconn -- espconn to set for client or server
|
|
|
+ * psent -- data to send
|
|
|
+ * length -- length of data to send
|
|
|
+ * Returns : none
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+sint8 espconn_sent(struct espconn *espconn, uint8 *psent, uint16 length);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_regist_connectcb
|
|
|
+ * Description : used to specify the function that should be called when
|
|
|
+ * connects to host.
|
|
|
+ * Parameters : espconn -- espconn to set the connect callback
|
|
|
+ * connect_cb -- connected callback function to call when connected
|
|
|
+ * Returns : none
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+sint8 espconn_regist_connectcb(struct espconn *espconn, espconn_connect_callback connect_cb);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_regist_recvcb
|
|
|
+ * Description : used to specify the function that should be called when recv
|
|
|
+ * data from host.
|
|
|
+ * Parameters : espconn -- espconn to set the recv callback
|
|
|
+ * recv_cb -- recv callback function to call when recv data
|
|
|
+ * Returns : none
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+sint8 espconn_regist_recvcb(struct espconn *espconn, espconn_recv_callback recv_cb);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_regist_reconcb
|
|
|
+ * Description : used to specify the function that should be called when connection
|
|
|
+ * because of err disconnect.
|
|
|
+ * Parameters : espconn -- espconn to set the err callback
|
|
|
+ * recon_cb -- err callback function to call when err
|
|
|
+ * Returns : none
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+sint8 espconn_regist_reconcb(struct espconn *espconn, espconn_reconnect_callback recon_cb);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_regist_disconcb
|
|
|
+ * Description : used to specify the function that should be called when disconnect
|
|
|
+ * Parameters : espconn -- espconn to set the err callback
|
|
|
+ * discon_cb -- err callback function to call when err
|
|
|
+ * Returns : none
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+sint8 espconn_regist_disconcb(struct espconn *espconn, espconn_connect_callback discon_cb);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_port
|
|
|
+ * Description : access port value for client so that we don't end up bouncing
|
|
|
+ * all connections at the same time .
|
|
|
+ * Parameters : none
|
|
|
+ * Returns : access port value
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+uint32 espconn_port(void);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_set_opt
|
|
|
+ * Description : access port value for client so that we don't end up bouncing
|
|
|
+ * all connections at the same time .
|
|
|
+ * Parameters : none
|
|
|
+ * Returns : access port value
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+sint8 espconn_set_opt(struct espconn *espconn, uint8 opt);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * TypedefName : dns_found_callback
|
|
|
+ * Description : Callback which is invoked when a hostname is found.
|
|
|
+ * Parameters : name -- pointer to the name that was looked up.
|
|
|
+ * ipaddr -- pointer to an ip_addr_t containing the IP address of
|
|
|
+ * the hostname, or NULL if the name could not be found (or on any
|
|
|
+ * other error).
|
|
|
+ * callback_arg -- a user-specified callback argument passed to
|
|
|
+ * dns_gethostbyname
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+typedef void (*dns_found_callback)(const char *name, ip_addr_t *ipaddr, void *callback_arg);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_gethostbyname
|
|
|
+ * Description : Resolve a hostname (string) into an IP address.
|
|
|
+ * Parameters : pespconn -- espconn to resolve a hostname
|
|
|
+ * hostname -- the hostname that is to be queried
|
|
|
+ * addr -- pointer to a ip_addr_t where to store the address if
|
|
|
+ * it is already cached in the dns_table (only valid if ESPCONN_OK
|
|
|
+ * is returned!)
|
|
|
+ * found -- a callback function to be called on success, failure
|
|
|
+ * or timeout (only if ERR_INPROGRESS is returned!)
|
|
|
+ * Returns : err_t return code
|
|
|
+ * - ESPCONN_OK if hostname is a valid IP address string or the host
|
|
|
+ * name is already in the local names table.
|
|
|
+ * - ESPCONN_INPROGRESS enqueue a request to be sent to the DNS server
|
|
|
+ * for resolution if no errors are present.
|
|
|
+ * - ESPCONN_ARG: dns client not initialized or invalid hostname
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+err_t espconn_gethostbyname(struct espconn *pespconn, const char *hostname, ip_addr_t *addr, dns_found_callback found);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_encry_connect
|
|
|
+ * Description : The function given as connection
|
|
|
+ * Parameters : espconn -- the espconn used to connect with the host
|
|
|
+ * Returns : none
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+sint8 espconn_secure_connect(struct espconn *espconn);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_encry_disconnect
|
|
|
+ * Description : The function given as the disconnection
|
|
|
+ * Parameters : espconn -- the espconn used to disconnect with the host
|
|
|
+ * Returns : none
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+sint8 espconn_secure_disconnect(struct espconn *espconn);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_encry_sent
|
|
|
+ * Description : sent data for client or server
|
|
|
+ * Parameters : espconn -- espconn to set for client or server
|
|
|
+ * psent -- data to send
|
|
|
+ * length -- length of data to send
|
|
|
+ * Returns : none
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+sint8 espconn_secure_sent(struct espconn *espconn, uint8 *psent, uint16 length);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_secure_accept
|
|
|
+ * Description : The function given as the listen
|
|
|
+ * Parameters : espconn -- the espconn used to listen the connection
|
|
|
+ * Returns : none
|
|
|
+*******************************************************************************/
|
|
|
+
|
|
|
+sint8 espconn_secure_accept(struct espconn *espconn);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_igmp_join
|
|
|
+ * Description : join a multicast group
|
|
|
+ * Parameters : host_ip -- the ip address of udp server
|
|
|
+ * multicast_ip -- multicast ip given by user
|
|
|
+ * Returns : none
|
|
|
+*******************************************************************************/
|
|
|
+sint8 espconn_igmp_join(ip_addr_t *host_ip, ip_addr_t *multicast_ip);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_igmp_leave
|
|
|
+ * Description : leave a multicast group
|
|
|
+ * Parameters : host_ip -- the ip address of udp server
|
|
|
+ * multicast_ip -- multicast ip given by user
|
|
|
+ * Returns : none
|
|
|
+*******************************************************************************/
|
|
|
+sint8 espconn_igmp_leave(ip_addr_t *host_ip, ip_addr_t *multicast_ip);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_recv_hold
|
|
|
+ * Description : hold tcp receive
|
|
|
+ * Parameters : espconn -- espconn to hold
|
|
|
+ * Returns : none
|
|
|
+*******************************************************************************/
|
|
|
+sint8 espconn_recv_hold(struct espconn *pespconn);
|
|
|
+
|
|
|
+/******************************************************************************
|
|
|
+ * FunctionName : espconn_recv_unhold
|
|
|
+ * Description : unhold tcp receive
|
|
|
+ * Parameters : espconn -- espconn to unhold
|
|
|
+ * Returns : none
|
|
|
+*******************************************************************************/
|
|
|
+sint8 espconn_recv_unhold(struct espconn *pespconn);
|
|
|
+
|
|
|
+#endif
|
|
|
+
|